class PlaceOS::Model::Trigger::Conditions::TimeDependent
- PlaceOS::Model::Trigger::Conditions::TimeDependent
- PlaceOS::Model::SubModel
- ActiveModel::Model
- Reference
- Object
Defined in:
placeos-models/trigger/conditions.crConstant Summary
-
Log =
::Log.for(self)
Constructors
- .from_json(string_or_io : String | IO, trusted : Bool = false) : self
-
.from_json(string_or_io : String | IO, root : String, trusted : Bool = false) : self
Deserializes the given JSON in string_or_io into an instance of
self, assuming the JSON consists of an JSON object with key root, and whose value is the value to deserialize. - .from_trusted_json(string_or_io : String | IO, root : String) : self
-
.from_trusted_json(string_or_io : String | IO) : self
Serialize from a trusted JSON source
-
.from_trusted_yaml(string_or_io : String | IO) : self
Serialize from a trusted YAML source
- .from_yaml(string_or_io : String | IO, trusted : Bool = false) : self
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- .new(pull : JSON::PullParser)
- .new(rs : DB::ResultSet)
- .new(type : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | ActiveModel::Model::None = ::ActiveModel::Model::None.new, time : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, cron : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, timezone : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new)
-
.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Initialize PlaceOS::Model::Trigger::Conditions::TimeDependent from
HTTP::Params.
Class Method Summary
-
.attributes : Array(Symbol)
Returns all attribute keys.
- .from_rs(rs : DB::ResultSet)
Instance Method Summary
- #after_initialize(trusted : Bool)
-
#apply_defaults
Generate code to apply default values
-
#assign_attributes(type : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | Missing = Missing, time : Time | Nil | Missing = Missing, cron : String | Nil | Missing = Missing, timezone : String | Nil | Missing = Missing)
Assign to multiple attributes.
-
#assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Assign to mulitple attributes via
HTTP::Params. -
#assign_attributes(model : PlaceOS::Model::Trigger::Conditions::TimeDependent)
Assign to multiple attributes from a model object
- #assign_attributes_from_json(json, root : String)
- #assign_attributes_from_json(json)
- #assign_attributes_from_trusted_json(json, root : String)
-
#assign_attributes_from_trusted_json(json)
Assign each field from JSON if field exists in JSON and has changed in model
- #assign_attributes_from_trusted_yaml(yaml)
-
#assign_attributes_from_yaml(yaml)
Uses the YAML parser as JSON is valid YAML
-
#attributes
Returns a
Hashof all attribute values -
#attributes_tuple
Returns a
NamedTupleof all attribute values. -
#changed?
Check if any attributes have changed.
-
#changed_attributes
Returns a
Hashwith all changed attributes. -
#changed_json(io : IO) : Nil
Serialize the set of changed attributes to JSON.
-
#changed_json : String
Serialize the set of changed attributes to JSON.
-
#changed_yaml(io : IO) : Nil
Serialize the set of changed attributes to YAML.
-
#changed_yaml : String
Serialize the set of changed attributes to YAML.
-
#clear_changes_information
Reset changes for all attributes.
-
#cron : String | Nil
#crongetter -
#cron=(value : String | Nil)
#cronsetter - #cron_assigned? : Bool
-
#cron_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #cron_changed? : Bool
-
#cron_default : String | Nil
#cron's default value - #cron_present? : Bool
- #cron_was : String | Nil | Nil
-
#cron_will_change! : Nil
Include
#cronin the set of changed attributes, whether it has changed or not. -
#persistent_attributes
Returns a
Hashof all attributes that can be persisted. -
#restore_attributes
Reset each attribute to their previous values and clears all changes.
-
#time : Time | Nil
#timegetter -
#time=(value : Time | Nil)
#timesetter - #time_assigned? : Bool
-
#time_change : Tuple(Time | Nil | Nil, Time | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #time_changed? : Bool
-
#time_default : Time | Nil
#time's default value - #time_present? : Bool
- #time_was : Time | Nil | Nil
-
#time_will_change! : Nil
Include
#timein the set of changed attributes, whether it has changed or not. -
#timezone : String | Nil
#timezonegetter -
#timezone=(value : String | Nil)
#timezonesetter - #timezone_assigned? : Bool
-
#timezone_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #timezone_changed? : Bool
-
#timezone_default : String | Nil
#timezone's default value - #timezone_present? : Bool
- #timezone_was : String | Nil | Nil
-
#timezone_will_change! : Nil
Include
#timezonein the set of changed attributes, whether it has changed or not. -
#type : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type
#typegetter -
#type=(value : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type)
Setters
#typesetter - #type? : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | Nil
- #type_assigned? : Bool
-
#type_change : Tuple(PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | Nil, PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #type_changed? : Bool
-
#type_default : Type
#type's default value - #type_present? : Bool
- #type_was : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type | Nil
-
#type_will_change! : Nil
Include
#typein the set of changed attributes, whether it has changed or not. -
#validate_nilability
Validate that all non-nillable fields have values.
Instance methods inherited from class PlaceOS::Model::SubModel
apply_defaults
apply_defaults,
assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))assign_attributes(model : PlaceOS::Model::SubModel)
assign_attributes assign_attributes, attributes attributes, attributes_tuple attributes_tuple, persistent_attributes persistent_attributes, to_reql to_reql
Constructor methods inherited from class PlaceOS::Model::SubModel
new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)new(pull : JSON::PullParser)
new(rs : DB::ResultSet) new
Class methods inherited from class PlaceOS::Model::SubModel
attributes : Array(Symbol)
attributes,
from_rs(rs : DB::ResultSet)
from_rs
Constructor Detail
Deserializes the given JSON in string_or_io into
an instance of self, assuming the JSON consists
of an JSON object with key root, and whose value is
the value to deserialize. Will not deserialise from
fields with mass_assign: false
class User < ActiveModel::Model
attribute name : String
attribute google_id : UUID, mass_assign: false
end
User.from_json(%({"main": {"name": "Jason", "google_id": "f6f70bfb-c882-446d-8758-7ce47db39620"}}), root: "main") # => #<User:0x103131b20 @name="Jason">
Serialize from a trusted JSON source
Serialize from a trusted YAML source
Initialize PlaceOS::Model::Trigger::Conditions::TimeDependent from HTTP::Params.
Class Method Detail
Instance Method Detail
Assign to multiple attributes.
Assign to mulitple attributes via HTTP::Params.
Assign to multiple attributes from a model object
Assign each field from JSON if field exists in JSON and has changed in model
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #cron in the set of changed attributes, whether it has changed or not.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #time in the set of changed attributes, whether it has changed or not.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #timezone in the set of changed attributes, whether it has changed or not.
Returns a Tuple of the previous and the current value of an instance variable if it has changed