Sha256: 87f5c0bb4716660334869264ffa04556d819d09251707f3d58c8e1b29e9eaee1

Contents?: true

Size: 1.1 KB

Versions: 11

Compression:

Stored size: 1.1 KB

Contents

module MountainView
  class Component
    attr_reader :name

    def initialize(name)
      @name = name
    end

    def title
      @name.humanize
    end

    def styleguide_stubs
      YAML.load_file(stubs_file) || {}
    rescue Errno::ENOENT
      {}
    end

    def component_stubs
      if styleguide_stubs.is_a?(Hash)
        styleguide_stubs[:stubs] || {}
      elsif styleguide_stubs.is_a?(Array)
        styleguide_stubs
      end
    end

    def component_stubs?
      component_stubs.any?
    end

    def stubs_file
      MountainView.configuration.components_path.join(name, "#{name}.yml")
    end

    def stubs?
      styleguide_stubs.any?
    end

    def stubs_extra_info?
      !stubs_extra_info.empty?
    end

    def stubs_extra_info
      if styleguide_stubs.is_a?(Hash) && styleguide_stubs.key?(:meta)
        styleguide_stubs[:meta]
      else
        {}
      end
    end

    def stubs_correct_format?
      stubs_are_a_hash_with_info? || styleguide_stubs.is_a?(Array)
    end

    def stubs_are_a_hash_with_info?
      styleguide_stubs.is_a?(Hash) && styleguide_stubs.key?(:stubs)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mountain_view-0.13.0 lib/mountain_view/component.rb
mountain_view-0.12.3 lib/mountain_view/component.rb
mountain_view-0.12.2 lib/mountain_view/component.rb
mountain_view-0.12.1 lib/mountain_view/component.rb
mountain_view-0.12.0 lib/mountain_view/component.rb
mountain_view-0.11.0 lib/mountain_view/component.rb
mountain_view-0.10.0 lib/mountain_view/component.rb
mountain_view-0.9.1 lib/mountain_view/component.rb
mountain_view-0.9.0 lib/mountain_view/component.rb
mountain_view-0.8.1 lib/mountain_view/component.rb
mountain_view-0.8.0 lib/mountain_view/component.rb