class

App::Models::Subscription

Inherits PgORM::Timestamps < PgORM::Base < PgORM::Validators < PgORM::Table < PgORM::Persistence < PgORM::Associations < ActiveModel::Callbacks < ActiveModel::Validation < ActiveModel::Model < DB::Mappable < DB::Serializable < YAML::Serializable < JSON::Serializable < Reference < Object

Constants

CALLBACKS = { before_save: [do if (__temp_163 = @organization) && __temp_163.new_record? __temp_163.save self.org_id = __temp_163.id.not_nil! end end, do if (__temp_164 = @plan) && __temp_164.new_record? __temp_164.save self.plan_id = __temp_164.id.not_nil! end end] of Nil, after_save: [do if __temp_165 = @invoices if __temp_165.cached? __temp_165.each do |__temp_166| if __temp_166.new_record? else next end __temp_166.subscription_id = id.not_nil! __temp_166.save end end end end] of Nil, before_create: [do self.created_at = self.updated_at = Time.utc end] of Nil, after_create: [] of Nil, before_update: [do self.updated_at = Time.utc end] of Nil, after_update: [] of Nil, before_destroy: [] of Nil, after_destroy: [do end, do end, do end] of Nil, }
PRIMARY_KEY_TYPES = {:id => UUID} of Nil => Nil

macro level key => type

PRIMARY_KEYS = [{:id}]

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. 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">
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)
Source
new(pull : JSON::PullParser)
Source
new(rs : DB::ResultSet)
new(id : UUID | ActiveModel::Model::None = ::ActiveModel::Model::None.new, org_id : UUID | ActiveModel::Model::None = ::ActiveModel::Model::None.new, plan_id : UUID | ActiveModel::Model::None = ::ActiveModel::Model::None.new, state : App::Models::Subscription::State | ActiveModel::Model::None = ::ActiveModel::Model::None.new, start_date : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, current_period_start : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, current_period_end : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, next_invoice_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, payment_terms_days : Int32 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, cutoff_grace_days : Int32 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new)
new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))

Initialize App::Models::Subscription from HTTP::Params.

Class methods

attributes

Returns all attribute keys.

by_org_id(id)
Source
by_plan_id(id)
Source
changes(id : UUID | Nil = nil) : ChangeFeed

Changefeed at row (if id passed) or whole table level. Returns a ChangeFeed instance which can be used to invoke async callbacks via on or use blocking Iterator via each method.

from_rs(__temp_396 : DB::ResultSet)
on_error(err : Exception | IO::Error)
primary_key
Source
table_name

Instance methods

active?
Source
after_create
Source
after_destroy
Source
after_initialize(trusted : Bool)
after_save
Source
after_update
Source
apply_defaults

Generate code to apply default values

assign_attributes(id : UUID | Missing = Missing, org_id : UUID | Missing = Missing, plan_id : UUID | Missing = Missing, state : App::Models::Subscription::State | Missing = Missing, start_date : Time | Missing = Missing, current_period_start : Time | Missing = Missing, current_period_end : Time | Missing = Missing, next_invoice_at : Time | Missing = Missing, payment_terms_days : Int32 | Missing = Missing, cutoff_grace_days : Int32 | Missing = Missing, created_at : Time | Missing = Missing, updated_at : Time | 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 : App::Models::Subscription)

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.

before_create
Source
before_destroy
Source
before_save
Source
before_update
Source
build_organization
Source
build_plan
Source
cancelled?
Source
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

Serialize the set of changed attributes to JSON.

changed_persist_attributes
changed_yaml(io : IO) : Nil

Serialize the set of changed attributes to YAML.

changed_yaml

Serialize the set of changed attributes to YAML.

clear_changes_information

Reset changes for all attributes.

create_organization
Source
create_organization!
Source
create_plan
Source
create_plan!
Source
created_at

created_at getter

created_at=(value : Time)

created_at setter

created_at?

Assign instance variable to correct type

created_at_assigned?
created_at_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

created_at_changed?
created_at_default

created_at's default value

created_at_present?
created_at_removed?
created_at_was
created_at_will_change!

Include created_at in the set of changed attributes, whether it has changed or not.

current_period_end

current_period_end getter

current_period_end=(value : Time)

current_period_end setter

current_period_end?

Assign instance variable to correct type

current_period_end_assigned?
current_period_end_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

current_period_end_changed?
current_period_end_default

current_period_end's default value

Source
current_period_end_present?
current_period_end_removed?
current_period_end_was
current_period_end_will_change!

Include current_period_end in the set of changed attributes, whether it has changed or not.

current_period_start

current_period_start getter

current_period_start=(value : Time)

current_period_start setter

current_period_start?

Assign instance variable to correct type

current_period_start_assigned?
current_period_start_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

current_period_start_changed?
current_period_start_default

current_period_start's default value

Source
current_period_start_present?
current_period_start_removed?
current_period_start_was
current_period_start_will_change!

Include current_period_start in the set of changed attributes, whether it has changed or not.

cutoff_grace_days

cutoff_grace_days getter

cutoff_grace_days=(value : Int32)

cutoff_grace_days setter

cutoff_grace_days?

Assign instance variable to correct type

cutoff_grace_days_assigned?
cutoff_grace_days_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

cutoff_grace_days_changed?
cutoff_grace_days_default

cutoff_grace_days's default value

Source
cutoff_grace_days_present?
cutoff_grace_days_removed?
cutoff_grace_days_was
cutoff_grace_days_will_change!

Include cutoff_grace_days in the set of changed attributes, whether it has changed or not.

id

id getter

id=(value : UUID)

Setters id setter

id?

Assign instance variable to correct type

id_assigned?
id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

id_changed?
id_default

id's default value

id_present?
id_removed?
id_was
id_will_change!

Include id in the set of changed attributes, whether it has changed or not.

invoices
Source
invoke_props
next_invoice_at

next_invoice_at getter

next_invoice_at=(value : Time)

next_invoice_at setter

next_invoice_at?

Assign instance variable to correct type

next_invoice_at_assigned?
next_invoice_at_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

next_invoice_at_changed?
next_invoice_at_default

next_invoice_at's default value

Source
next_invoice_at_present?
next_invoice_at_removed?
next_invoice_at_was
next_invoice_at_will_change!

Include next_invoice_at in the set of changed attributes, whether it has changed or not.

org_id

org_id getter

org_id=(value : UUID)

org_id setter

org_id?

Assign instance variable to correct type

org_id_assigned?
org_id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

org_id_changed?
org_id_default

org_id's default value

Source
org_id_present?
org_id_removed?
org_id_was
org_id_will_change!

Include org_id in the set of changed attributes, whether it has changed or not.

organization
Source
organization!
Source
organization=(record : Organization) : Organization
Source
organization?
Source
payment_terms_days

payment_terms_days getter

payment_terms_days=(value : Int32)

payment_terms_days setter

payment_terms_days?

Assign instance variable to correct type

payment_terms_days_assigned?
payment_terms_days_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

payment_terms_days_changed?
payment_terms_days_default

payment_terms_days's default value

Source
payment_terms_days_present?
payment_terms_days_removed?
payment_terms_days_was
payment_terms_days_will_change!

Include payment_terms_days in the set of changed attributes, whether it has changed or not.

persistent_attributes

Returns a Hash of all attributes that can be persisted.

plan
Source
plan!
Source
plan=(record : Plan) : Plan
Source
plan?
Source
plan_id

plan_id getter

plan_id=(value : UUID)

plan_id setter

plan_id?

Assign instance variable to correct type

plan_id_assigned?
plan_id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

plan_id_changed?
plan_id_default

plan_id's default value

Source
plan_id_present?
plan_id_removed?
plan_id_was
plan_id_will_change!

Include plan_id in the set of changed attributes, whether it has changed or not.

primary_key
Source
primary_key_hash
reload_organization
Source
reload_organization?
Source
reload_plan
Source
reload_plan?
Source
restore_attributes

Reset each attribute to their previous values and clears all changes.

run_create_callbacks

Wrap a block with callbacks for the appropriate crud operation

Source
run_destroy_callbacks
Source
run_save_callbacks
Source
run_update_callbacks
Source
start_date

start_date getter

start_date=(value : Time)

start_date setter

start_date?

Assign instance variable to correct type

start_date_assigned?
start_date_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

start_date_changed?
start_date_default

start_date's default value

Source
start_date_present?
start_date_removed?
start_date_was
start_date_will_change!

Include start_date in the set of changed attributes, whether it has changed or not.

state

state getter

state setter

state?

Assign instance variable to correct type

state_assigned?
state_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

state_changed?
state_default

state's default value

Source
state_present?
state_removed?
state_was
state_will_change!

Include state in the set of changed attributes, whether it has changed or not.

suspended?
Source
table_name
updated_at

updated_at getter

updated_at=(value : Time)

updated_at setter

updated_at?

Assign instance variable to correct type

updated_at_assigned?
updated_at_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

updated_at_changed?
updated_at_default

updated_at's default value

updated_at_present?
updated_at_removed?
updated_at_was
updated_at_will_change!

Include updated_at in the set of changed attributes, whether it has changed or not.

validate_nilability

Validate that all non-nillable fields have values.

Nested types