Module: ApiMaker::ModelExtensions
- Defined in:
- lib/api_maker/model_extensions.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #api_maker_broadcast_create ⇒ Object
- #api_maker_broadcast_destroy ⇒ Object
- #api_maker_broadcast_destroy_channel_name ⇒ Object
- #api_maker_broadcast_update ⇒ Object
- #api_maker_broadcast_update_channel_name ⇒ Object
- #api_maker_event(event_name, args = {}) ⇒ Object
- #api_maker_event_channel_name(event_name) ⇒ Object
- #api_maker_resource ⇒ Object
Class Method Details
.included(base) ⇒ Object
2 3 4 |
# File 'lib/api_maker/model_extensions.rb', line 2 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#api_maker_broadcast_create ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/api_maker/model_extensions.rb', line 67 def api_maker_broadcast_create serializer = ApiMaker::Serializer.new(model: self) data_to_broadcast = ApiMaker::ResultParser.parse( m: self, mcn: self.class.name, mi: id, mt: serializer.resource.collection_name, t: :c ) ActionCable.server.broadcast(self.class.api_maker_broadcast_create_channel_name, data_to_broadcast) end |
#api_maker_broadcast_destroy ⇒ Object
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/api_maker/model_extensions.rb', line 79 def api_maker_broadcast_destroy serializer = ApiMaker::Serializer.new(model: self) data_to_broadcast = ApiMaker::ResultParser.parse( m: self, mi: id, mt: serializer.resource.collection_name, t: :d ) ActionCable.server.broadcast(api_maker_broadcast_destroy_channel_name, data_to_broadcast) end |
#api_maker_broadcast_destroy_channel_name ⇒ Object
90 91 92 |
# File 'lib/api_maker/model_extensions.rb', line 90 def api_maker_broadcast_destroy_channel_name @api_maker_broadcast_destroy_channel_name ||= "api_maker_destroys_#{api_maker_resource.short_name}_#{id}" end |
#api_maker_broadcast_update ⇒ Object
94 95 96 97 98 99 100 101 102 103 |
# File 'lib/api_maker/model_extensions.rb', line 94 def api_maker_broadcast_update serializer = ApiMaker::Serializer.new(model: self) data_to_broadcast = ApiMaker::ResultParser.parse( m: self, mi: id, mt: serializer.resource.collection_name, t: :u ) ActionCable.server.broadcast(api_maker_broadcast_update_channel_name, data_to_broadcast) end |
#api_maker_broadcast_update_channel_name ⇒ Object
105 106 107 |
# File 'lib/api_maker/model_extensions.rb', line 105 def api_maker_broadcast_update_channel_name @api_maker_broadcast_update_channel_name ||= "api_maker_updates_#{api_maker_resource.short_name}_#{id}" end |
#api_maker_event(event_name, args = {}) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/api_maker/model_extensions.rb', line 50 def api_maker_event(event_name, args = {}) channel_name = api_maker_event_channel_name(event_name) serializer = ApiMaker::Serializer.new(model: self) data_to_broadcast = ApiMaker::ResultParser.parse( a: args, e: event_name, mi: id, mt: serializer.resource.collection_name, t: :e ) ActionCable.server.broadcast(channel_name, data_to_broadcast) end |
#api_maker_event_channel_name(event_name) ⇒ Object
63 64 65 |
# File 'lib/api_maker/model_extensions.rb', line 63 def api_maker_event_channel_name(event_name) "api_maker_events_#{api_maker_resource.short_name}_#{id}_#{event_name}" end |
#api_maker_resource ⇒ Object
109 110 111 |
# File 'lib/api_maker/model_extensions.rb', line 109 def api_maker_resource @api_maker_resource ||= self.class.api_maker_resource end |