workarea-core 3.5.16 → 3.5.17
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/app/mailers/workarea/application_mailer.rb +4 -1
 - data/app/models/workarea/checkout.rb +6 -2
 - data/app/models/workarea/data_file/csv.rb +9 -1
 - data/app/models/workarea/inquiry.rb +2 -1
 - data/config/locales/en.yml +2 -0
 - data/lib/generators/workarea/install/install_generator.rb +13 -0
 - data/lib/generators/workarea/install/templates/initializer.rb.erb +1 -1
 - data/lib/workarea/version.rb +1 -1
 - data/test/generators/workarea/install_generator_test.rb +6 -0
 - data/test/mailers/workarea/application_mailer_test.rb +10 -0
 - data/test/models/workarea/checkout_test.rb +57 -0
 - data/test/models/workarea/data_file/import_test.rb +40 -0
 - data/workarea-core.gemspec +1 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8d24b6af137b806311dbd5d13fb13a57f8693f99d767f94fb3144994fe9c7028
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: dbbfb80358c11fc03b2e470ac741f615dc2d68e5f9c6c0d55b3b69567eaa4d02
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a7f587ddc4e1e9c425eaace526f562f99ec5885002f833fd33a134164d3d20a405938a1e762b3cfd221824a77f435ebb79383591ae2bd0c3b81bd407ba0ceb12
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 61da7b2aa4a72d5e0b5456b401f9124769fa5f43c601d33e6e14b6a64bf820910bed36faf6992a1865e603455710b05647fa62b62488fa8fd973d33edac02564
         
     | 
| 
         @@ -8,7 +8,10 @@ module Workarea 
     | 
|
| 
       8 
8 
     | 
    
         
             
                default from: -> (*) { Workarea.config.email_from }
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                def default_url_options(options = {})
         
     | 
| 
       11 
     | 
    
         
            -
                  super 
     | 
| 
      
 11 
     | 
    
         
            +
                  # super isn't returning the configured options, so manually merge them in
         
     | 
| 
      
 12 
     | 
    
         
            +
                  super
         
     | 
| 
      
 13 
     | 
    
         
            +
                    .merge(Rails.application.config.action_mailer.default_url_options.to_h)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    .merge(host: Workarea.config.host)
         
     | 
| 
       12 
15 
     | 
    
         
             
                end
         
     | 
| 
       13 
16 
     | 
    
         
             
              end
         
     | 
| 
       14 
17 
     | 
    
         
             
            end
         
     | 
| 
         @@ -154,10 +154,14 @@ module Workarea 
     | 
|
| 
       154 
154 
     | 
    
         
             
                # Used in auto completing an order for a logged in user.
         
     | 
| 
       155 
155 
     | 
    
         
             
                #
         
     | 
| 
       156 
156 
     | 
    
         
             
                # @param [Hash] parameters for updating
         
     | 
| 
       157 
     | 
    
         
            -
                # @return [ 
     | 
| 
      
 157 
     | 
    
         
            +
                # @return [Boolean] whether the update was successful.
         
     | 
| 
       158 
158 
     | 
    
         
             
                #
         
     | 
| 
       159 
159 
     | 
    
         
             
                def update(params = {})
         
     | 
| 
       160 
     | 
    
         
            -
                   
     | 
| 
      
 160 
     | 
    
         
            +
                  return true if params.blank?
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
                  steps.reduce(true) do |result, step|
         
     | 
| 
      
 163 
     | 
    
         
            +
                    result &= step.new(self).update(params)
         
     | 
| 
      
 164 
     | 
    
         
            +
                  end
         
     | 
| 
       161 
165 
     | 
    
         
             
                end
         
     | 
| 
       162 
166 
     | 
    
         | 
| 
       163 
167 
     | 
    
         
             
                # Whether this checkout needs any further information
         
     | 
| 
         @@ -17,7 +17,15 @@ module Workarea 
     | 
|
| 
       17 
17 
     | 
    
         
             
                      assign_attributes(root, attrs)
         
     | 
| 
       18 
18 
     | 
    
         
             
                      assign_embedded_attributes(root, attrs)
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                       
     | 
| 
      
 20 
     | 
    
         
            +
                      possibly_affected_models = root.embedded_children + [root]
         
     | 
| 
      
 21 
     | 
    
         
            +
                      was_successful = true
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                      possibly_affected_models.each do |model|
         
     | 
| 
      
 24 
     | 
    
         
            +
                        meaningful_changes = model.changes.except('updated_at')
         
     | 
| 
      
 25 
     | 
    
         
            +
                        was_successful &= model.save if model.changed? && meaningful_changes.present?
         
     | 
| 
      
 26 
     | 
    
         
            +
                      end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                      if was_successful || failed_new_record_ids.exclude?(id)
         
     | 
| 
       21 
29 
     | 
    
         
             
                        log(index, root)
         
     | 
| 
       22 
30 
     | 
    
         
             
                      else
         
     | 
| 
       23 
31 
     | 
    
         
             
                        operation.total += 1 # ensure line numbers remain consistent
         
     | 
    
        data/config/locales/en.yml
    CHANGED
    
    
| 
         @@ -55,6 +55,19 @@ module Workarea 
     | 
|
| 
       55 
55 
     | 
    
         
             
                  remove_file 'public/favicon.ico'
         
     | 
| 
       56 
56 
     | 
    
         
             
                end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
      
 58 
     | 
    
         
            +
                def add_development_mailer_port
         
     | 
| 
      
 59 
     | 
    
         
            +
                  development_port = <<-CODE
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              config.action_mailer.default_url_options = { port: 3000 }
         
     | 
| 
      
 62 
     | 
    
         
            +
                  CODE
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                  inject_into_file(
         
     | 
| 
      
 65 
     | 
    
         
            +
                    'config/environments/development.rb',
         
     | 
| 
      
 66 
     | 
    
         
            +
                    development_port,
         
     | 
| 
      
 67 
     | 
    
         
            +
                    before: /^end/
         
     | 
| 
      
 68 
     | 
    
         
            +
                  )
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
       58 
71 
     | 
    
         
             
                private
         
     | 
| 
       59 
72 
     | 
    
         | 
| 
       60 
73 
     | 
    
         
             
                def app_name
         
     | 
    
        data/lib/workarea/version.rb
    CHANGED
    
    
| 
         @@ -81,5 +81,11 @@ module Workarea 
     | 
|
| 
       81 
81 
     | 
    
         
             
                def test_favicon
         
     | 
| 
       82 
82 
     | 
    
         
             
                  assert_no_file 'public/favicon.ico'
         
     | 
| 
       83 
83 
     | 
    
         
             
                end
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
                def test_development_mailer_port
         
     | 
| 
      
 86 
     | 
    
         
            +
                  assert_file 'config/environments/development.rb' do |file|
         
     | 
| 
      
 87 
     | 
    
         
            +
                    assert_match(%(config.action_mailer.default_url_options = { port: 3000 }), file)
         
     | 
| 
      
 88 
     | 
    
         
            +
                  end
         
     | 
| 
      
 89 
     | 
    
         
            +
                end
         
     | 
| 
       84 
90 
     | 
    
         
             
              end
         
     | 
| 
       85 
91 
     | 
    
         
             
            end
         
     | 
| 
         @@ -21,5 +21,15 @@ module Workarea 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    assert_equal([changed_email], changed_mail.from)
         
     | 
| 
       22 
22 
     | 
    
         
             
                  end
         
     | 
| 
       23 
23 
     | 
    
         
             
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                def test_default_url_options
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @current_options = Rails.application.config.action_mailer.default_url_options.deep_dup
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Rails.application.config.action_mailer.default_url_options = { port: 12345 }
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  assert_equal(12345, ApplicationMailer.new.default_url_options[:port])
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                ensure
         
     | 
| 
      
 32 
     | 
    
         
            +
                  Rails.application.config.action_mailer.default_url_options = @current_options
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
       24 
34 
     | 
    
         
             
              end
         
     | 
| 
       25 
35 
     | 
    
         
             
            end
         
     | 
| 
         @@ -51,6 +51,63 @@ module Workarea 
     | 
|
| 
       51 
51 
     | 
    
         
             
                  refute_equal(payment_id, checkout.payment.object_id)
         
     | 
| 
       52 
52 
     | 
    
         
             
                end
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
      
 54 
     | 
    
         
            +
                def test_update
         
     | 
| 
      
 55 
     | 
    
         
            +
                  create_shipping_service
         
     | 
| 
      
 56 
     | 
    
         
            +
                  checkout = Checkout.new(@order)
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  checkout.start_as(:guest)
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                  refute(
         
     | 
| 
      
 61 
     | 
    
         
            +
                    checkout.update(
         
     | 
| 
      
 62 
     | 
    
         
            +
                      email: 'test@workarea.com',
         
     | 
| 
      
 63 
     | 
    
         
            +
                      shipping_address: {
         
     | 
| 
      
 64 
     | 
    
         
            +
                        last_name: 'Crouse',
         
     | 
| 
      
 65 
     | 
    
         
            +
                        street: '22 S. 3rd St.',
         
     | 
| 
      
 66 
     | 
    
         
            +
                        street_2: 'Second Floor',
         
     | 
| 
      
 67 
     | 
    
         
            +
                        city: 'Philadelphia',
         
     | 
| 
      
 68 
     | 
    
         
            +
                        region: 'PA',
         
     | 
| 
      
 69 
     | 
    
         
            +
                        postal_code: '19106',
         
     | 
| 
      
 70 
     | 
    
         
            +
                        country: 'US'
         
     | 
| 
      
 71 
     | 
    
         
            +
                      },
         
     | 
| 
      
 72 
     | 
    
         
            +
                      billing_address: {
         
     | 
| 
      
 73 
     | 
    
         
            +
                        first_name: 'Ben',
         
     | 
| 
      
 74 
     | 
    
         
            +
                        street: '22 S. 3rd St.',
         
     | 
| 
      
 75 
     | 
    
         
            +
                        street_2: 'Second Floor',
         
     | 
| 
      
 76 
     | 
    
         
            +
                        city: 'Philadelphia',
         
     | 
| 
      
 77 
     | 
    
         
            +
                        region: 'PA',
         
     | 
| 
      
 78 
     | 
    
         
            +
                        postal_code: '19106',
         
     | 
| 
      
 79 
     | 
    
         
            +
                        country: 'US'
         
     | 
| 
      
 80 
     | 
    
         
            +
                      }
         
     | 
| 
      
 81 
     | 
    
         
            +
                    )
         
     | 
| 
      
 82 
     | 
    
         
            +
                  )
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                  assert(
         
     | 
| 
      
 85 
     | 
    
         
            +
                    checkout.update(
         
     | 
| 
      
 86 
     | 
    
         
            +
                      email: 'test@workarea.com',
         
     | 
| 
      
 87 
     | 
    
         
            +
                      shipping_address: {
         
     | 
| 
      
 88 
     | 
    
         
            +
                        first_name: 'Ben',
         
     | 
| 
      
 89 
     | 
    
         
            +
                        last_name: 'Crouse',
         
     | 
| 
      
 90 
     | 
    
         
            +
                        street: '22 S. 3rd St.',
         
     | 
| 
      
 91 
     | 
    
         
            +
                        street_2: 'Second Floor',
         
     | 
| 
      
 92 
     | 
    
         
            +
                        city: 'Philadelphia',
         
     | 
| 
      
 93 
     | 
    
         
            +
                        region: 'PA',
         
     | 
| 
      
 94 
     | 
    
         
            +
                        postal_code: '19106',
         
     | 
| 
      
 95 
     | 
    
         
            +
                        country: 'US'
         
     | 
| 
      
 96 
     | 
    
         
            +
                      },
         
     | 
| 
      
 97 
     | 
    
         
            +
                      billing_address: {
         
     | 
| 
      
 98 
     | 
    
         
            +
                        first_name: 'Ben',
         
     | 
| 
      
 99 
     | 
    
         
            +
                        last_name: 'Crouse',
         
     | 
| 
      
 100 
     | 
    
         
            +
                        street: '22 S. 3rd St.',
         
     | 
| 
      
 101 
     | 
    
         
            +
                        street_2: 'Second Floor',
         
     | 
| 
      
 102 
     | 
    
         
            +
                        city: 'Philadelphia',
         
     | 
| 
      
 103 
     | 
    
         
            +
                        region: 'PA',
         
     | 
| 
      
 104 
     | 
    
         
            +
                        postal_code: '19106',
         
     | 
| 
      
 105 
     | 
    
         
            +
                        country: 'US'
         
     | 
| 
      
 106 
     | 
    
         
            +
                      }
         
     | 
| 
      
 107 
     | 
    
         
            +
                    )
         
     | 
| 
      
 108 
     | 
    
         
            +
                  )
         
     | 
| 
      
 109 
     | 
    
         
            +
                end
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
       54 
111 
     | 
    
         
             
                def test_continue_as
         
     | 
| 
       55 
112 
     | 
    
         
             
                  checkout = Checkout.new(@order)
         
     | 
| 
       56 
113 
     | 
    
         
             
                  checkout.continue_as(@user)
         
     | 
| 
         @@ -132,6 +132,46 @@ module Workarea 
     | 
|
| 
       132 
132 
     | 
    
         
             
                    refute(import.error?)
         
     | 
| 
       133 
133 
     | 
    
         
             
                    assert(import.successful?)
         
     | 
| 
       134 
134 
     | 
    
         
             
                  end
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
                  def test_csv_embedded_changes_for_release
         
     | 
| 
      
 137 
     | 
    
         
            +
                    release = create_release
         
     | 
| 
      
 138 
     | 
    
         
            +
                    product = create_product(
         
     | 
| 
      
 139 
     | 
    
         
            +
                      name: 'Foo',
         
     | 
| 
      
 140 
     | 
    
         
            +
                      variants: [{ sku: '1', name: 'Bar' }, { sku: '2', name: 'Baz' }]
         
     | 
| 
      
 141 
     | 
    
         
            +
                    )
         
     | 
| 
      
 142 
     | 
    
         
            +
                    product.name = 'Foo Changed'
         
     | 
| 
      
 143 
     | 
    
         
            +
                    product.variants.first.name = 'Bar Changed'
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
                    import = create_import(
         
     | 
| 
      
 146 
     | 
    
         
            +
                      model_type: product.class.name,
         
     | 
| 
      
 147 
     | 
    
         
            +
                      file: create_tempfile(Csv.new.serialize(product), extension: 'csv'),
         
     | 
| 
      
 148 
     | 
    
         
            +
                      file_type: 'csv',
         
     | 
| 
      
 149 
     | 
    
         
            +
                      release_id: release.id
         
     | 
| 
      
 150 
     | 
    
         
            +
                    )
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
                    assert_equal('csv', import.file_type)
         
     | 
| 
      
 153 
     | 
    
         
            +
                    assert_nothing_raised { import.process! }
         
     | 
| 
      
 154 
     | 
    
         
            +
             
     | 
| 
      
 155 
     | 
    
         
            +
                    product.reload
         
     | 
| 
      
 156 
     | 
    
         
            +
                    assert_equal('Foo', product.name)
         
     | 
| 
      
 157 
     | 
    
         
            +
                    assert_equal('Bar', product.variants.first.name)
         
     | 
| 
      
 158 
     | 
    
         
            +
                    assert_equal('Baz', product.variants.second.name)
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
                    Release.with_current(release) do
         
     | 
| 
      
 161 
     | 
    
         
            +
                      product.reload
         
     | 
| 
      
 162 
     | 
    
         
            +
                      assert_equal('Foo Changed', product.name)
         
     | 
| 
      
 163 
     | 
    
         
            +
                      assert_equal('Bar Changed', product.variants.first.name)
         
     | 
| 
      
 164 
     | 
    
         
            +
                      assert_equal('Baz', product.variants.second.name)
         
     | 
| 
      
 165 
     | 
    
         
            +
                    end
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
                    import.reload
         
     | 
| 
      
 168 
     | 
    
         
            +
                    assert_equal(2, import.total)
         
     | 
| 
      
 169 
     | 
    
         
            +
                    assert_equal(2, import.succeeded)
         
     | 
| 
      
 170 
     | 
    
         
            +
                    assert_equal(0, import.failed)
         
     | 
| 
      
 171 
     | 
    
         
            +
                    assert(import.complete?)
         
     | 
| 
      
 172 
     | 
    
         
            +
                    refute(import.error?)
         
     | 
| 
      
 173 
     | 
    
         
            +
                    assert(import.successful?)
         
     | 
| 
      
 174 
     | 
    
         
            +
                  end
         
     | 
| 
       135 
175 
     | 
    
         
             
                end
         
     | 
| 
       136 
176 
     | 
    
         
             
              end
         
     | 
| 
       137 
177 
     | 
    
         
             
            end
         
     | 
    
        data/workarea-core.gemspec
    CHANGED
    
    | 
         @@ -91,7 +91,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       91 
91 
     | 
    
         
             
              s.add_dependency 'loofah', '~> 2.3.1'
         
     | 
| 
       92 
92 
     | 
    
         
             
              s.add_dependency 'referer-parser', '~> 0.3.0'
         
     | 
| 
       93 
93 
     | 
    
         
             
              s.add_dependency 'serviceworker-rails', '~> 0.5.5'
         
     | 
| 
       94 
     | 
    
         
            -
              s.add_dependency 'chartkick', '~> 3. 
     | 
| 
      
 94 
     | 
    
         
            +
              s.add_dependency 'chartkick', '~> 3.4.0'
         
     | 
| 
       95 
95 
     | 
    
         
             
              s.add_dependency 'browser', '~> 2.6.1'
         
     | 
| 
       96 
96 
     | 
    
         
             
              s.add_dependency 'puma', '>= 4.3.1'
         
     | 
| 
       97 
97 
     | 
    
         
             
              s.add_dependency 'rack' , '>= 2.1.4'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: workarea-core
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.5.17
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ben Crouse
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-08-19 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -1100,14 +1100,14 @@ dependencies: 
     | 
|
| 
       1100 
1100 
     | 
    
         
             
                requirements:
         
     | 
| 
       1101 
1101 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       1102 
1102 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       1103 
     | 
    
         
            -
                    version: 3. 
     | 
| 
      
 1103 
     | 
    
         
            +
                    version: 3.4.0
         
     | 
| 
       1104 
1104 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       1105 
1105 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       1106 
1106 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       1107 
1107 
     | 
    
         
             
                requirements:
         
     | 
| 
       1108 
1108 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       1109 
1109 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       1110 
     | 
    
         
            -
                    version: 3. 
     | 
| 
      
 1110 
     | 
    
         
            +
                    version: 3.4.0
         
     | 
| 
       1111 
1111 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       1112 
1112 
     | 
    
         
             
              name: browser
         
     | 
| 
       1113 
1113 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |