class Matestack::Ui::VueJs::VueJsComponent

Public Class Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/matestack/ui/vue_js/vue.rb, line 55
def self.inherited(subclass)
  subclass.vue_name(self.vue_name)
  super
end
new(html_tag = nil, text = nil, options = {}, &block) click to toggle source
Calls superclass method
# File lib/matestack/ui/vue_js/vue.rb, line 6
def initialize(html_tag = nil, text = nil, options = {}, &block)
  extract_options(text, options)
  super(html_tag, text, options, &block)
end
vue_name(name = nil) click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 46
def self.vue_name(name = nil)
  name ? @vue_name = name : @vue_name
end

Public Instance Methods

component_attributes() click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 23
def component_attributes
  {
    is: vue_name,
    ref: component_id,
    ':params': params.to_json,
    ':props': self.vue_props.to_json,
    'inline-template': true
  }
end
component_id() click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 33
def component_id
  options[:id] || nil
end
config()
Alias for: vue_props
create_children(&block) click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 11
def create_children(&block)
  vue_component do
    self.response do
      block.call if block_given?
    end
  end
end
vue_component(&block) click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 19
def vue_component(&block)
  Matestack::Ui::Core::Base.new(:component, component_attributes, &block)
end
vue_name() click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 50
def vue_name
  raise "vue_name missing for #{self.class}" unless self.class.vue_name
  self.class.vue_name
end
vue_props() click to toggle source
# File lib/matestack/ui/vue_js/vue.rb, line 37
def vue_props
  # raise "config needs to be overwritten by #{self.class}"
end
Also aliased as: config