express_templates 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/express_templates/components.rb +1 -0
- data/lib/express_templates/components/base.rb +4 -0
- data/lib/express_templates/components/container.rb +43 -0
- data/lib/express_templates/components/forms/express_form.rb +2 -3
- data/lib/express_templates/components/forms/form_component.rb +2 -2
- data/lib/express_templates/version.rb +1 -1
- metadata +21 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7977047ccc67c08d98fd6455b7cb2489ca8d1443
         | 
| 4 | 
            +
              data.tar.gz: 9d135566210f9533ec5405070e0fa24f827e77d4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 86d2c106761699eeed090914b848e017a1c3f91e5b9de8b5ebd4065f2eec9d966f0e8f3634e69418ff68d670769d5fb1ed9ea6a1842cfd68805c9e622afaf11f
         | 
| 7 | 
            +
              data.tar.gz: 8a17726987ae8de7ad866e6fc1c5ce4fd1ca0eb5d955442f7eb8139a969931fda38b78f4407912f9c7a2c39cb65c15e37633d6326038f3705f5742e13ae67a60
         | 
| @@ -71,6 +71,10 @@ module ExpressTemplates | |
| 71 71 | 
             
                    builder_method_and_class subclass.to_s.demodulize.underscore, subclass
         | 
| 72 72 | 
             
                  end
         | 
| 73 73 |  | 
| 74 | 
            +
                  def self.descendants
         | 
| 75 | 
            +
                    ObjectSpace.each_object(Class).select { |klass| klass < self }
         | 
| 76 | 
            +
                  end
         | 
| 77 | 
            +
             | 
| 74 78 | 
             
                  protected
         | 
| 75 79 | 
             
                    def default_class_name
         | 
| 76 80 | 
             
                      self.class.name.demodulize.underscore.dasherize
         | 
| @@ -0,0 +1,43 @@ | |
| 1 | 
            +
            module ExpressTemplates
         | 
| 2 | 
            +
              module Components
         | 
| 3 | 
            +
                class Container < Configurable
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                  class_attribute :prepended_blocks
         | 
| 6 | 
            +
                  self.prepended_blocks = []
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  class_attribute :appended_blocks
         | 
| 9 | 
            +
                  self.appended_blocks = []
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  contains -> (&block) {
         | 
| 12 | 
            +
                    prepended
         | 
| 13 | 
            +
                    block.call(self) if block
         | 
| 14 | 
            +
                    appended
         | 
| 15 | 
            +
                  }
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  def prepended
         | 
| 18 | 
            +
                    prepended_blocks.each do |block_to_prepend|
         | 
| 19 | 
            +
                      call_block(block_to_prepend)
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  def appended
         | 
| 24 | 
            +
                    appended_blocks.each do |block_to_append|
         | 
| 25 | 
            +
                      call_block(block_to_append)
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  def call_block(block)
         | 
| 30 | 
            +
                    instance_exec &block
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                  def self.prepends(proc = nil, &block)
         | 
| 34 | 
            +
                    self.prepended_blocks += [proc || block]
         | 
| 35 | 
            +
                  end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  def self.appends(proc = nil, &block)
         | 
| 38 | 
            +
                    self.appended_blocks += [proc || block]
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
              end
         | 
| 43 | 
            +
            end
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            module ExpressTemplates
         | 
| 2 2 | 
             
              module Components
         | 
| 3 3 | 
             
                module Forms
         | 
| 4 | 
            -
                  class ExpressForm <  | 
| 4 | 
            +
                  class ExpressForm < Container
         | 
| 5 5 | 
             
                    include ExpressTemplates::Components::Capabilities::Resourceful
         | 
| 6 6 |  | 
| 7 7 | 
             
                    tag :form
         | 
| @@ -9,13 +9,12 @@ module ExpressTemplates | |
| 9 9 | 
             
                    has_option :method, 'The form method', default: 'POST', attribute: true #, options: ['PUT', 'POST', 'GET', 'DELETE']
         | 
| 10 10 | 
             
                    has_option :action, 'The form action containing the resource path or url.'
         | 
| 11 11 |  | 
| 12 | 
            -
                     | 
| 12 | 
            +
                    prepends -> {
         | 
| 13 13 | 
             
                      div(style: 'display:none') {
         | 
| 14 14 | 
             
                        add_child helpers.utf8_enforcer_tag
         | 
| 15 15 | 
             
                        add_child helpers.send(:method_tag, resource.persisted? ? :put : :post)
         | 
| 16 16 | 
             
                        helpers.send(:token_tag)
         | 
| 17 17 | 
             
                      }
         | 
| 18 | 
            -
                      block.call(self) if block
         | 
| 19 18 | 
             
                    }
         | 
| 20 19 |  | 
| 21 20 | 
             
                    before_build -> {
         | 
| @@ -7,10 +7,10 @@ module ExpressTemplates | |
| 7 7 |  | 
| 8 8 | 
             
                    before_build -> {
         | 
| 9 9 | 
             
                      set_attribute(:id, "#{resource_name}_#{field_name}_wrapper")
         | 
| 10 | 
            -
                      add_class(config[: | 
| 10 | 
            +
                      add_class(config[:wrapper_class])
         | 
| 11 11 | 
             
                    }
         | 
| 12 12 |  | 
| 13 | 
            -
                    has_option : | 
| 13 | 
            +
                    has_option :wrapper_class, 'Override the class of the wrapping div of a form component', default: 'field-wrapper'
         | 
| 14 14 | 
             
                    has_option :label, 'Override the inferred label of a form component'
         | 
| 15 15 |  | 
| 16 16 | 
             
                    # Lookup the resource_name from the parent ExpressForm.
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: express_templates
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.9.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Steven Talcott Smith
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015-07- | 
| 12 | 
            +
            date: 2015-07-24 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: activesupport
         | 
| @@ -43,16 +43,16 @@ dependencies: | |
| 43 43 | 
             
              name: arbre
         | 
| 44 44 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 45 45 | 
             
                requirements:
         | 
| 46 | 
            -
                - - " | 
| 46 | 
            +
                - - "~>"
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 | 
            -
                    version: '0'
         | 
| 48 | 
            +
                    version: '1.0'
         | 
| 49 49 | 
             
              type: :runtime
         | 
| 50 50 | 
             
              prerelease: false
         | 
| 51 51 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 | 
            -
                - - " | 
| 53 | 
            +
                - - "~>"
         | 
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: '0'
         | 
| 55 | 
            +
                    version: '1.0'
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 57 | 
             
              name: rails
         | 
| 58 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -151,6 +151,20 @@ dependencies: | |
| 151 151 | 
             
                - - "~>"
         | 
| 152 152 | 
             
                  - !ruby/object:Gem::Version
         | 
| 153 153 | 
             
                    version: '0.4'
         | 
| 154 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 155 | 
            +
              name: minitest-line
         | 
| 156 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 157 | 
            +
                requirements:
         | 
| 158 | 
            +
                - - ">="
         | 
| 159 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 160 | 
            +
                    version: '0'
         | 
| 161 | 
            +
              type: :development
         | 
| 162 | 
            +
              prerelease: false
         | 
| 163 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 164 | 
            +
                requirements:
         | 
| 165 | 
            +
                - - ">="
         | 
| 166 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 167 | 
            +
                    version: '0'
         | 
| 154 168 | 
             
            description: Replace Erb/HAML/Slim with ExpressTemplates and write templates in a
         | 
| 155 169 | 
             
              declartive style of Ruby.  With ExpressTemplates you may easily create a library
         | 
| 156 170 | 
             
              of components for use across projects.
         | 
| @@ -173,6 +187,7 @@ files: | |
| 173 187 | 
             
            - lib/express_templates/components/base.rb
         | 
| 174 188 | 
             
            - lib/express_templates/components/capabilities/resourceful.rb
         | 
| 175 189 | 
             
            - lib/express_templates/components/configurable.rb
         | 
| 190 | 
            +
            - lib/express_templates/components/container.rb
         | 
| 176 191 | 
             
            - lib/express_templates/components/forms.rb
         | 
| 177 192 | 
             
            - lib/express_templates/components/forms/basic_fields.rb
         | 
| 178 193 | 
             
            - lib/express_templates/components/forms/checkbox.rb
         |