Class: RecurringTodos::WeeklyRecurringTodosBuilder
Instance Attribute Summary collapse
#mapped_attributes, #pattern
Instance Method Summary
collapse
#attributes, #build, #errors, #filter_attributes, #filter_generic_attributes, #get_selector, #map, #save, #save_collection, #save_context, #save_project, #save_recurring_todo, #save_tags, #saved_recurring_todo, #tag_list_or_empty_string, #update
Constructor Details
Returns a new instance of WeeklyRecurringTodosBuilder.
5
6
7
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 5
def initialize(user, attributes)
super(user, attributes, WeeklyRecurrencePattern)
end
|
Instance Attribute Details
#recurring_todo ⇒ Object
Returns the value of attribute recurring_todo.
3
4
5
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 3
def recurring_todo
@recurring_todo
end
|
Instance Method Details
#attributes_to_filter ⇒ Object
9
10
11
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 9
def attributes_to_filter
%w{ weekly_selector weekly_every_x_week } + %w{ monday tuesday wednesday thursday friday saturday sunday }.map{ |day| "weekly_return_#{day}" }
end
|
#map_attributes(mapping) ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 13
def map_attributes(mapping)
mapping = map(mapping, :every_other1, 'weekly_every_x_week')
{ monday: 1, tuesday: 2, wednesday: 3, thursday: 4, friday: 5, saturday: 6, sunday: 0 }
.each do |day, index|
mapping = map_day(mapping, :every_day, "weekly_return_#{day}", index)
end
mapping
end
|
#map_day(mapping, key, source_key, index) ⇒ Object
24
25
26
27
28
29
30
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 24
def map_day(mapping, key, source_key, index)
mapping.set_if_nil(key, ' ') mapping.set_if_nil(source_key, ' ')
mapping.set(key, mapping.get(key)[0, index] + mapping.get(source_key) + mapping.get(key)[index + 1, mapping.get(key).length])
mapping.except(source_key)
end
|
#selector_key ⇒ Object
32
33
34
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 32
def selector_key
nil
end
|
#valid_selector?(key) ⇒ Boolean
36
37
38
|
# File 'app/models/recurring_todos/weekly_recurring_todos_builder.rb', line 36
def valid_selector?(key)
true
end
|