Class: NotionRubyMapping::DateProperty
- Inherits:
-
DateBaseProperty
- Object
- Property
- DateBaseProperty
- NotionRubyMapping::DateProperty
- Defined in:
- lib/notion_ruby_mapping/date_property.rb
Constant Summary collapse
- TYPE =
"date"
Instance Attribute Summary
Attributes inherited from Property
Instance Method Summary collapse
-
#create_json ⇒ Hash
Created json.
-
#end_date=(end_date) ⇒ Array?
Settled array.
-
#initialize(name, json: nil, start_date: nil, end_date: nil, time_zone: nil) ⇒ DateProperty
constructor
A new instance of DateProperty.
-
#start_date=(start_date) ⇒ Array?
Settled array.
Methods inherited from DateBaseProperty
#filter_after, #filter_before, #filter_does_not_equal, #filter_equals, #filter_next_month, #filter_next_week, #filter_next_year, #filter_on_or_after, #filter_on_or_before, #filter_past_month, #filter_past_week, #filter_past_year, #value_str
Methods included from IsEmptyIsNotEmpty
#filter_is_empty, #filter_is_not_empty
Methods inherited from Property
create_from_json, #make_filter_query, #type
Constructor Details
#initialize(name, json: nil, start_date: nil, end_date: nil, time_zone: nil) ⇒ DateProperty
Returns a new instance of DateProperty.
10 11 12 13 14 15 |
# File 'lib/notion_ruby_mapping/date_property.rb', line 10 def initialize(name, json: nil, start_date: nil, end_date: nil, time_zone: nil) super(name, json: json) @end_date = end_date @start_date = start_date || end_date @time_zone = time_zone end |
Instance Method Details
#create_json ⇒ Hash
Returns created json.
18 19 20 21 22 23 24 25 26 |
# File 'lib/notion_ruby_mapping/date_property.rb', line 18 def create_json if @end_date {"date" => {"start" => value_str(@start_date || @end_date), "end" => value_str(@end_date)}} elsif @start_date {"date" => {"start" => value_str(@start_date)}} else {"date" => @json || {}} end end |
#end_date=(end_date) ⇒ Array?
Returns settled array.
38 39 40 41 42 |
# File 'lib/notion_ruby_mapping/date_property.rb', line 38 def end_date=(end_date) @will_update = true @end_date = end_date @end_date = nil if @start_date.class != @end_date.class || @start_date > @end_date end |
#start_date=(start_date) ⇒ Array?
Returns settled array.
30 31 32 33 34 |
# File 'lib/notion_ruby_mapping/date_property.rb', line 30 def start_date=(start_date) @will_update = true @start_date = start_date @end_date = nil if @start_date.class != @end_date.class || @start_date > @end_date end |