Skip to content

Instantly share code, notes, and snippets.

@Tocacar
Tocacar / gist:4337861
Created December 19, 2012 16:06
I need to create a custom DataSourceIterator so that I can pass a related collection's properties to the sonata admin bundle's exportAction (I think this is the only way to achieve the export of one-to-many values, I may be wrong). I have traced backwards how my admin class is currently generating a DataSourceIterator (I think) - see below. Pres…
// vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Admin/Admin.php
/**
* @return
*/
public function getDataSourceIterator()
{
$datagrid = $this->getDatagrid();
$datagrid->buildPager();
RSpec.describe UsersController, type: :controller do
describe "GET index" do
it “returns a successful response” do
get :index
expect(response).to be_successful
end
it "assigns @users" do
user = User.create(name: “Test user”)
get :index
class WorkingDayCalculator
def self.working_days_from_now(number)
new(Date.today).add_working_days(number)
end
attr_reader :date
def initialize(date)
@date = date
end
class BankHolidayUpdateWorker
DataRetrievalError = Class.new(StandardError)
include Sidekiq::Worker
include Sidekiq::Status::Worker
UPDATE_INTERVAL = 2.days
def perform
return true if last_updated.updated_at > UPDATE_INTERVAL.ago
return last_updated.touch if stored_data_current?
class BankHoliday < ApplicationRecord
serialize :dates, Array
scope :by_updated_at, -> { order(updated_at: :asc) }
before_validation :populate_dates
validates :dates, presence: true
def self.dates
BankHolidayUpdateWorker.perform_in 10.seconds
# frozen_string_literal: true
class BankHolidayRetriever
UnsuccessfulRetrievalError = Class.new(StandardError)
API_URL = 'https://www.gov.uk/bank-holidays.json'
DEFAULT_GROUP = 'england-and-wales'
def self.dates
new.dates(DEFAULT_GROUP)
end
function onEdit(e) {
new Date().toLocaleString("en-GB", {timeZone: "Europe/London"})
var user = Session.getActiveUser().getEmail();
var oldValue = e.oldValue
var sName = e.source.getActiveSheet().getSheetName();
if(sName == "Standards Assurance Table") {
var mA1 = e.range.getA1Notation().split(":")[0];
var array = [{
name: 'anne'
}, {
name: 'jim'
}, {
name: 'sam'
}, {
name: 'kay'
}, {
name: 'olive'
for (let i = 0; i < people.length; i++) {
console.group('person:' + people[i].name);
console.group('pets');
for (let j = 0; j < people[i].pets.length; j++) {
console.log(people[i].pets[j]);
}
console.groupEnd();
console.groupEnd();
}
var people = [{
name: 'anne',
pets: ['dog', 'cat']
},
{
name: 'jim',
pets: ['dog']
},
{
name: 'sam',