ciesta 0.2.2 → 0.2.3
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/.rubocop.yml +39 -5
- data/Gemfile.lock +18 -2
- data/README.md +15 -14
- data/ciesta.gemspec +4 -5
- data/lib/ciesta/delegator.rb +1 -1
- data/lib/ciesta/errors.rb +4 -1
- data/lib/ciesta/field_list.rb +6 -2
- data/lib/ciesta/form.rb +20 -10
- data/lib/ciesta/version.rb +1 -1
- metadata +17 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 686725e6d7930c99dafab26c796538ac28410261704491f9f676bb2204950481
         | 
| 4 | 
            +
              data.tar.gz: 16b64dd435105dcc1a66c778e4cd321137b47d4859588a1b9c5f4d19ae7c4e42
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 12cce79f11ee00426ad3675c2bb1506a28b526ab0b565dae0719945661261c9d62fe6c01210f2d68697b595e174fc1c4e6f015d823adae3cf9a9ab83c63a73f9
         | 
| 7 | 
            +
              data.tar.gz: 5b98c72dd163212fdea889553d501f486df12ddc7dfcd3ba73d6e09aae4e9d11afd0a61b0a1f5927fc0fd4fcbe4c937aef9ed5413b174d18923b9a07a25a9598
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -1,14 +1,48 @@ | |
| 1 | 
            -
            inherit_gem:
         | 
| 2 | 
            -
              rubocop-config-umbrellio: lib/rubocop.rails.yml
         | 
| 3 | 
            -
             | 
| 4 1 | 
             
            AllCops:
         | 
| 5 2 | 
             
              TargetRubyVersion: 2.1
         | 
| 6 3 | 
             
              Exclude:
         | 
| 7 4 | 
             
                - db/schema.rb
         | 
| 8 | 
            -
                -  | 
| 5 | 
            +
                - config/**/*.rb
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Metrics
         | 
| 8 | 
            +
            Metrics/CyclomaticComplexity:
         | 
| 9 | 
            +
              Enabled: true
         | 
| 10 | 
            +
              Max: 6
         | 
| 9 11 |  | 
| 10 12 | 
             
            Metrics/LineLength:
         | 
| 13 | 
            +
              Enabled: true
         | 
| 14 | 
            +
              Max: 100
         | 
| 15 | 
            +
              AllowHeredoc: true
         | 
| 11 16 | 
             
              IgnoredPatterns: ['#.*']
         | 
| 12 17 |  | 
| 13 | 
            -
             | 
| 18 | 
            +
            Metrics/BlockLength:
         | 
| 19 | 
            +
              Enabled: false
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            Metrics/MethodLength:
         | 
| 22 | 
            +
              Enabled: false
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            Metrics/AbcSize:
         | 
| 25 | 
            +
              Enabled: false
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            # Style
         | 
| 28 | 
            +
            Style/StringLiterals:
         | 
| 29 | 
            +
              Enabled: false
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            Style/Documentation:
         | 
| 32 | 
            +
              Enabled: false
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            Style/ClassAndModuleChildren:
         | 
| 35 | 
            +
              Enabled: false
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            Style/FrozenStringLiteralComment:
         | 
| 38 | 
            +
              Enabled: false
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            Style/RegexpLiteral:
         | 
| 41 | 
            +
              Enabled: false
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            # Lint
         | 
| 44 | 
            +
            Lint/AmbiguousOperator:
         | 
| 45 | 
            +
              Enabled: false
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            Lint/AmbiguousBlockAssociation:
         | 
| 14 48 | 
             
              Enabled: false
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,13 +1,14 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                ciesta (0.2. | 
| 4 | 
            +
                ciesta (0.2.3)
         | 
| 5 5 | 
             
                  dry-types (~> 0.12.1)
         | 
| 6 6 | 
             
                  dry-validation (~> 0.11.1)
         | 
| 7 7 |  | 
| 8 8 | 
             
            GEM
         | 
| 9 9 | 
             
              remote: https://rubygems.org/
         | 
| 10 10 | 
             
              specs:
         | 
| 11 | 
            +
                ast (2.4.0)
         | 
| 11 12 | 
             
                coderay (1.1.2)
         | 
| 12 13 | 
             
                concurrent-ruby (1.0.5)
         | 
| 13 14 | 
             
                coveralls (0.8.21)
         | 
| @@ -23,7 +24,7 @@ GEM | |
| 23 24 | 
             
                dry-container (0.6.0)
         | 
| 24 25 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 25 26 | 
             
                  dry-configurable (~> 0.1, >= 0.1.3)
         | 
| 26 | 
            -
                dry-core (0.4. | 
| 27 | 
            +
                dry-core (0.4.5)
         | 
| 27 28 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 28 29 | 
             
                dry-equalizer (0.2.0)
         | 
| 29 30 | 
             
                dry-logic (0.4.2)
         | 
| @@ -48,9 +49,14 @@ GEM | |
| 48 49 | 
             
                inflecto (0.0.2)
         | 
| 49 50 | 
             
                json (2.1.0)
         | 
| 50 51 | 
             
                method_source (0.9.0)
         | 
| 52 | 
            +
                parallel (1.12.1)
         | 
| 53 | 
            +
                parser (2.5.0.4)
         | 
| 54 | 
            +
                  ast (~> 2.4.0)
         | 
| 55 | 
            +
                powerpack (0.1.1)
         | 
| 51 56 | 
             
                pry (0.11.3)
         | 
| 52 57 | 
             
                  coderay (~> 1.1.0)
         | 
| 53 58 | 
             
                  method_source (~> 0.9.0)
         | 
| 59 | 
            +
                rainbow (3.0.0)
         | 
| 54 60 | 
             
                rake (10.5.0)
         | 
| 55 61 | 
             
                rspec (3.7.0)
         | 
| 56 62 | 
             
                  rspec-core (~> 3.7.0)
         | 
| @@ -65,6 +71,14 @@ GEM | |
| 65 71 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 66 72 | 
             
                  rspec-support (~> 3.7.0)
         | 
| 67 73 | 
             
                rspec-support (3.7.1)
         | 
| 74 | 
            +
                rubocop (0.54.0)
         | 
| 75 | 
            +
                  parallel (~> 1.10)
         | 
| 76 | 
            +
                  parser (>= 2.5)
         | 
| 77 | 
            +
                  powerpack (~> 0.1)
         | 
| 78 | 
            +
                  rainbow (>= 2.2.2, < 4.0)
         | 
| 79 | 
            +
                  ruby-progressbar (~> 1.7)
         | 
| 80 | 
            +
                  unicode-display_width (~> 1.0, >= 1.0.1)
         | 
| 81 | 
            +
                ruby-progressbar (1.9.0)
         | 
| 68 82 | 
             
                simplecov (0.14.1)
         | 
| 69 83 | 
             
                  docile (~> 1.1.0)
         | 
| 70 84 | 
             
                  json (>= 1.8, < 3)
         | 
| @@ -74,6 +88,7 @@ GEM | |
| 74 88 | 
             
                  tins (~> 1.0)
         | 
| 75 89 | 
             
                thor (0.19.4)
         | 
| 76 90 | 
             
                tins (1.16.3)
         | 
| 91 | 
            +
                unicode-display_width (1.3.0)
         | 
| 77 92 |  | 
| 78 93 | 
             
            PLATFORMS
         | 
| 79 94 | 
             
              ruby
         | 
| @@ -85,6 +100,7 @@ DEPENDENCIES | |
| 85 100 | 
             
              pry (~> 0.11)
         | 
| 86 101 | 
             
              rake (~> 10.0)
         | 
| 87 102 | 
             
              rspec (~> 3.0)
         | 
| 103 | 
            +
              rubocop (~> 0.52)
         | 
| 88 104 |  | 
| 89 105 | 
             
            BUNDLED WITH
         | 
| 90 106 | 
             
               1.16.1
         | 
    
        data/README.md
    CHANGED
    
    | @@ -15,10 +15,10 @@ You should keep it in mind that here uses [dry-validation](https://github.com/dr | |
| 15 15 | 
             
              - [Basic case](#basic-case)
         | 
| 16 16 | 
             
              - [Syncing](#syncing)
         | 
| 17 17 | 
             
              - [Validation](#validation)
         | 
| 18 | 
            -
              - [Advanced  | 
| 18 | 
            +
              - [Advanced field declaration](#advanced-field-declaration)
         | 
| 19 19 | 
             
                - [Types](#types)
         | 
| 20 20 | 
             
                - [Default value](#default-value)
         | 
| 21 | 
            -
              - [ | 
| 21 | 
            +
              - [Values mass update](#values-mass-update)
         | 
| 22 22 | 
             
            - [Contributing](#contributing)
         | 
| 23 23 | 
             
            - [License](#license)
         | 
| 24 24 |  | 
| @@ -42,14 +42,15 @@ Or install it yourself as: | |
| 42 42 | 
             
            ## Usage
         | 
| 43 43 |  | 
| 44 44 | 
             
            ### Basic case
         | 
| 45 | 
            -
             | 
| 45 | 
            +
            For example will be used user object with `name` and `age` attributes:
         | 
| 46 46 |  | 
| 47 47 | 
             
            ```ruby
         | 
| 48 48 | 
             
            User = Struct.new(:name, :age)
         | 
| 49 49 |  | 
| 50 50 | 
             
            user = User.new(nil, nil)
         | 
| 51 51 | 
             
            ```
         | 
| 52 | 
            -
             | 
| 52 | 
            +
             | 
| 53 | 
            +
            For setting and syncing new values let's create a form object:
         | 
| 53 54 |  | 
| 54 55 | 
             
            ```ruby
         | 
| 55 56 | 
             
            class Form < Ciesta::Form
         | 
| @@ -77,10 +78,10 @@ form.sync! do |user| | |
| 77 78 | 
             
              user.make_happy!
         | 
| 78 79 | 
             
            end
         | 
| 79 80 | 
             
            ```
         | 
| 80 | 
            -
            Both  | 
| 81 | 
            +
            Both `sync` and `sync!` provide this DSL.
         | 
| 81 82 |  | 
| 82 83 | 
             
            ### Validation
         | 
| 83 | 
            -
             | 
| 84 | 
            +
            For validating incoming values you can use `validate` method:
         | 
| 84 85 |  | 
| 85 86 | 
             
            ```ruby
         | 
| 86 87 | 
             
            class Form < Ciesta::Form
         | 
| @@ -96,7 +97,7 @@ end | |
| 96 97 | 
             
            form = Form.new(user)
         | 
| 97 98 | 
             
            ```
         | 
| 98 99 |  | 
| 99 | 
            -
             | 
| 100 | 
            +
            An attempt to sync with invalid form will raise `Ciesta::FormNotValid` error.
         | 
| 100 101 |  | 
| 101 102 | 
             
            ```ruby
         | 
| 102 103 | 
             
            form.age = 15
         | 
| @@ -110,10 +111,10 @@ form.sync!  # => true | |
| 110 111 | 
             
            user.age    # => 42
         | 
| 111 112 | 
             
            ```
         | 
| 112 113 |  | 
| 113 | 
            -
            ### Advanced  | 
| 114 | 
            +
            ### Advanced field declaration
         | 
| 114 115 |  | 
| 115 116 | 
             
            #### Types
         | 
| 116 | 
            -
            You can define  | 
| 117 | 
            +
            You can define the type of a field using `Ciesta::Types` namespace.
         | 
| 117 118 |  | 
| 118 119 | 
             
            ```ruby
         | 
| 119 120 | 
             
            field :age, type: Ciesta::Types::Coercible::Int
         | 
| @@ -124,7 +125,7 @@ form.age # => 42 | |
| 124 125 | 
             
            Default type is `Ciesta::Types::Any`.
         | 
| 125 126 |  | 
| 126 127 | 
             
            #### Default value
         | 
| 127 | 
            -
            If your attribute wasn | 
| 128 | 
            +
            If your attribute wasn’t set yet, but value is already in use, one can set a `default` option to avoid exceptions.
         | 
| 128 129 |  | 
| 129 130 | 
             
            ```ruby
         | 
| 130 131 | 
             
            field :age, default: 42
         | 
| @@ -132,7 +133,7 @@ field :age, default: 42 | |
| 132 133 | 
             
            form.age # => 42
         | 
| 133 134 | 
             
            ```
         | 
| 134 135 |  | 
| 135 | 
            -
            Default value can also be a `Proc`, wich will  | 
| 136 | 
            +
            Default value can also be a `Proc`, wich will be called in the object context.
         | 
| 136 137 |  | 
| 137 138 | 
             
            ```ruby
         | 
| 138 139 | 
             
            class User
         | 
| @@ -148,8 +149,8 @@ field :age, default: -> { default_age } | |
| 148 149 | 
             
            form.age # => 42
         | 
| 149 150 | 
             
            ```
         | 
| 150 151 |  | 
| 151 | 
            -
            ##  | 
| 152 | 
            -
            There are  | 
| 152 | 
            +
            ## Values mass update
         | 
| 153 | 
            +
            There are two methods for form fields mass update: `assign` and `assign!`.
         | 
| 153 154 |  | 
| 154 155 | 
             
            ```ruby
         | 
| 155 156 | 
             
            form.assign!(name: "Neo", age: 30)
         | 
| @@ -159,7 +160,7 @@ user.name # => "Neo" | |
| 159 160 | 
             
            user.age  # => 30
         | 
| 160 161 | 
             
            ```
         | 
| 161 162 |  | 
| 162 | 
            -
            `assign!` method will raise `Ciesta::FieldNotDefined` error if one of passed  | 
| 163 | 
            +
            `assign!` method will raise `Ciesta::FieldNotDefined` error if one of the passed attributes is not declared in the form.
         | 
| 163 164 |  | 
| 164 165 | 
             
            ## Contributing
         | 
| 165 166 |  | 
    
        data/ciesta.gemspec
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 |  | 
| 2 2 | 
             
            # frozen_string_literal: true
         | 
| 3 3 |  | 
| 4 | 
            -
            lib = File.expand_path( | 
| 4 | 
            +
            lib = File.expand_path('lib', __dir__)
         | 
| 5 5 | 
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 6 6 | 
             
            require "ciesta/version"
         | 
| 7 7 |  | 
| @@ -18,9 +18,7 @@ Gem::Specification.new do |spec| | |
| 18 18 |  | 
| 19 19 | 
             
              # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
         | 
| 20 20 | 
             
              # to allow pushing to a single host or delete this section to allow pushing to any host.
         | 
| 21 | 
            -
               | 
| 22 | 
            -
                # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
         | 
| 23 | 
            -
              else
         | 
| 21 | 
            +
              unless spec.respond_to?(:metadata)
         | 
| 24 22 | 
             
                raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
         | 
| 25 23 | 
             
              end
         | 
| 26 24 |  | 
| @@ -30,7 +28,7 @@ Gem::Specification.new do |spec| | |
| 30 28 | 
             
              spec.bindir        = "exe"
         | 
| 31 29 | 
             
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         | 
| 32 30 | 
             
              spec.require_paths = ["lib"]
         | 
| 33 | 
            -
              spec.required_ruby_version = ">= 2. | 
| 31 | 
            +
              spec.required_ruby_version = ">= 2.1"
         | 
| 34 32 |  | 
| 35 33 | 
             
              spec.add_dependency "dry-types", "~> 0.12.1"
         | 
| 36 34 | 
             
              spec.add_dependency "dry-validation", "~> 0.11.1"
         | 
| @@ -40,4 +38,5 @@ Gem::Specification.new do |spec| | |
| 40 38 | 
             
              spec.add_development_dependency "pry", "~> 0.11"
         | 
| 41 39 | 
             
              spec.add_development_dependency "rake", "~> 10.0"
         | 
| 42 40 | 
             
              spec.add_development_dependency "rspec", "~> 3.0"
         | 
| 41 | 
            +
              spec.add_development_dependency "rubocop", "~> 0.52"
         | 
| 43 42 | 
             
            end
         | 
    
        data/lib/ciesta/delegator.rb
    CHANGED
    
    
    
        data/lib/ciesta/errors.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Ciesta
         | 
| 4 | 
            -
              # Error  | 
| 4 | 
            +
              # Error for violating constraints
         | 
| 5 5 | 
             
              ViolatesConstraints = Class.new(ArgumentError)
         | 
| 6 6 |  | 
| 7 7 | 
             
              # Error for invalid object
         | 
| @@ -9,4 +9,7 @@ module Ciesta | |
| 9 9 |  | 
| 10 10 | 
             
              # Error for missing field definition
         | 
| 11 11 | 
             
              FieldNotDefined = Class.new(NoMethodError)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              # Error for nil object
         | 
| 14 | 
            +
              ModelNotPresent = Class.new(StandardError)
         | 
| 12 15 | 
             
            end
         | 
    
        data/lib/ciesta/field_list.rb
    CHANGED
    
    | @@ -56,7 +56,11 @@ class Ciesta::FieldList | |
| 56 56 | 
             
              # @return [Boolean]
         | 
| 57 57 | 
             
              def assign(attributes)
         | 
| 58 58 | 
             
                attributes = attributes.keep_if { |key| keys.include?(key) }
         | 
| 59 | 
            -
                 | 
| 59 | 
            +
                begin
         | 
| 60 | 
            +
                  assign!(attributes)
         | 
| 61 | 
            +
                rescue StandardError
         | 
| 62 | 
            +
                  false
         | 
| 63 | 
            +
                end
         | 
| 60 64 | 
             
              end
         | 
| 61 65 |  | 
| 62 66 | 
             
              # Getting all field names
         | 
| @@ -72,7 +76,7 @@ class Ciesta::FieldList | |
| 72 76 | 
             
              # @api private
         | 
| 73 77 | 
             
              # @return [Hash<Symbol, any>]
         | 
| 74 78 | 
             
              def attributes
         | 
| 75 | 
            -
                list.values. | 
| 79 | 
            +
                list.values.map { |field| [field.name, field.value] }.to_h
         | 
| 76 80 | 
             
              end
         | 
| 77 81 |  | 
| 78 82 | 
             
              # Iterate over all fields
         | 
    
        data/lib/ciesta/form.rb
    CHANGED
    
    | @@ -12,11 +12,6 @@ class Ciesta::Form | |
| 12 12 | 
             
              # @see Ciesta::FieldList
         | 
| 13 13 | 
             
              delegate :assign, :assign!, :attributes, to: :fields
         | 
| 14 14 |  | 
| 15 | 
            -
              # @!method sync!
         | 
| 16 | 
            -
              # @!method sync
         | 
| 17 | 
            -
              # @see Ciesta::Syncer
         | 
| 18 | 
            -
              delegate :sync, to: :syncer
         | 
| 19 | 
            -
             | 
| 20 15 | 
             
              # @!method errors
         | 
| 21 16 | 
             
              # @see Ciesta::Validator
         | 
| 22 17 | 
             
              delegate :errors, to: :validator
         | 
| @@ -65,14 +60,13 @@ class Ciesta::Form | |
| 65 60 | 
             
              # Constructor
         | 
| 66 61 | 
             
              #
         | 
| 67 62 | 
             
              # @param [Object] object Object wich will be updated though this form
         | 
| 68 | 
            -
              def initialize(object)
         | 
| 63 | 
            +
              def initialize(object = nil)
         | 
| 69 64 | 
             
                @object = object
         | 
| 70 65 |  | 
| 71 | 
            -
                 | 
| 72 | 
            -
                  mem[key] = object.public_send(key)
         | 
| 73 | 
            -
                end
         | 
| 66 | 
            +
                return if object.nil?
         | 
| 74 67 |  | 
| 75 | 
            -
                 | 
| 68 | 
            +
                values = fields.keys.map { |key| [key, object.public_send(key)] }.to_h
         | 
| 69 | 
            +
                assign(values)
         | 
| 76 70 | 
             
              end
         | 
| 77 71 |  | 
| 78 72 | 
             
              # Checks if form is valid
         | 
| @@ -87,15 +81,31 @@ class Ciesta::Form | |
| 87 81 |  | 
| 88 82 | 
             
              # Sync form attributes to object
         | 
| 89 83 | 
             
              #
         | 
| 84 | 
            +
              # @see Ciesta::Syncer
         | 
| 85 | 
            +
              #
         | 
| 90 86 | 
             
              # @param [Block] block Block wich will be yielded after synfing
         | 
| 91 87 | 
             
              #
         | 
| 88 | 
            +
              # @raise Ciesta::ModelNotPresent
         | 
| 92 89 | 
             
              # @raise Ciesta::FormNotValid
         | 
| 93 90 | 
             
              # @return [Boolean]
         | 
| 94 91 | 
             
              def sync!(&block)
         | 
| 92 | 
            +
                raise Ciesta::ModelNotPresent, "Model not present" if object.nil?
         | 
| 95 93 | 
             
                raise Ciesta::FormNotValid, "Form is not valid" unless valid?
         | 
| 96 94 | 
             
                syncer.sync(&block)
         | 
| 97 95 | 
             
              end
         | 
| 98 96 |  | 
| 97 | 
            +
              # Sync form attributes to object
         | 
| 98 | 
            +
              #
         | 
| 99 | 
            +
              # @see Ciesta::Syncer
         | 
| 100 | 
            +
              #
         | 
| 101 | 
            +
              # @param [Block] block Block wich will be yielded after synfing
         | 
| 102 | 
            +
              #
         | 
| 103 | 
            +
              # @return [Boolean]
         | 
| 104 | 
            +
              def sync(&block)
         | 
| 105 | 
            +
                return if object.nil?
         | 
| 106 | 
            +
                syncer.sync(&block)
         | 
| 107 | 
            +
              end
         | 
| 108 | 
            +
             | 
| 99 109 | 
             
              private
         | 
| 100 110 |  | 
| 101 111 | 
             
              # Sync class for form
         | 
    
        data/lib/ciesta/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ciesta
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alexey
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2018-03- | 
| 11 | 
            +
            date: 2018-03-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: dry-types
         | 
| @@ -108,6 +108,20 @@ dependencies: | |
| 108 108 | 
             
                - - "~>"
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 110 | 
             
                    version: '3.0'
         | 
| 111 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            +
              name: rubocop
         | 
| 113 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 | 
            +
                requirements:
         | 
| 115 | 
            +
                - - "~>"
         | 
| 116 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            +
                    version: '0.52'
         | 
| 118 | 
            +
              type: :development
         | 
| 119 | 
            +
              prerelease: false
         | 
| 120 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                requirements:
         | 
| 122 | 
            +
                - - "~>"
         | 
| 123 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            +
                    version: '0.52'
         | 
| 111 125 | 
             
            description: Gem for creating and using form object
         | 
| 112 126 | 
             
            email:
         | 
| 113 127 | 
             
            - alex.coder1@gmail.com
         | 
| @@ -151,7 +165,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 151 165 | 
             
              requirements:
         | 
| 152 166 | 
             
              - - ">="
         | 
| 153 167 | 
             
                - !ruby/object:Gem::Version
         | 
| 154 | 
            -
                  version: '2. | 
| 168 | 
            +
                  version: '2.1'
         | 
| 155 169 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 156 170 | 
             
              requirements:
         | 
| 157 171 | 
             
              - - ">="
         |