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
Hash
of all attribute values -
#attributes_tuple
Returns a
NamedTuple
of all attribute values. -
#changed?
Check if any attributes have changed.
-
#changed_attributes
Returns a
Hash
with 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
#cron
getter -
#cron=(value : String | Nil)
#cron
setter - #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
#cron
in the set of changed attributes, whether it has changed or not. -
#persistent_attributes
Returns a
Hash
of all attributes that can be persisted. -
#restore_attributes
Reset each attribute to their previous values and clears all changes.
-
#time : Time | Nil
#time
getter -
#time=(value : Time | Nil)
#time
setter - #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
#time
in the set of changed attributes, whether it has changed or not. -
#timezone : String | Nil
#timezone
getter -
#timezone=(value : String | Nil)
#timezone
setter - #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
#timezone
in the set of changed attributes, whether it has changed or not. -
#type : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type
#type
getter -
#type=(value : PlaceOS::Model::Trigger::Conditions::TimeDependent::Type)
Setters
#type
setter - #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
#type
in 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