Sha256: b204c217725ef05e10fdce709f3856ee4b73eefdcb34834462059c9485af2363

Contents?: true

Size: 639 Bytes

Versions: 2

Compression:

Stored size: 639 Bytes

Contents

require 'active_support/core_ext/hash'
require 'active_support/inflector'
require 'active_support/json'

module Guilded
  class Component

    attr_reader :name,
                :has_javascript,
                :options

    def initialize( name, options={} )
      @name           = name
      @has_javascript = options.fetch( :has_javascript, true )

      options.delete :has_javascript

      @options        = options.stringify_keys
    end

    def javascript_initializer
      javascript? ?
        "g.init#{name.to_s.camelize}(#{options.to_json});" :
        ""
    end

    def javascript?
      has_javascript
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
guilded-2.0.0 lib/guilded/component.rb
guilded-2.0.0.pre lib/guilded/component.rb