Sha256: a41eb3aa6729a5a65867be603fadc0fa3c158d1894c2b6e3813ebe7927f54c55

Contents?: true

Size: 1.33 KB

Versions: 21

Compression:

Stored size: 1.33 KB

Contents

module Dedalus
  module PatternLibrary
    class PeriodicTableEntry < Dedalus::Molecule
      attr_accessor :element_name
      attr_accessor :kind
      attr_accessor :color
      attr_accessor :scale

      def show
        [
          HugeText.new(text: abbreviation, scale: scale),
          LargeText.new(text: element_name, scale: scale),
          TinyText.new(text: kind, scale: scale)
        ]
      end

      def scale
        @scale ||= 1.0
      end

      def abbreviation
        if element_name.match(/ /) #split(" ").count > 0
          element_name.split(" ").map(&:first).join.capitalize
        else
          element_name.slice(0,2).capitalize
        end
      end

      def click
        view.route_to(element_name)
      end

      def margin
        15 * scale
      end

      def padding
        30 * scale
      end

      def width
        260 * scale
      end

      def height
        300 * scale
      end

      def background_color
        if color
          c = Palette.decode_color(color) if color.is_a?(String)
          c.darken
        else
          Palette.gray
        end
      end

      def self.description
        "a high-level view of an element"
      end

      def self.example_data
        {
          element_abbreviation: "Ht",
          element_name: "Huge Text"
        }
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
dedalus-0.2.21 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.20 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.19 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.18 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.17 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.16 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.15 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.13 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.12 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.11 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.10 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.9 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.8 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.7 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.6 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.5 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.4 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.3 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.2 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb
dedalus-0.2.1.1 lib/dedalus/pattern_library/molecules/periodic_table_entry.rb