wlw_seeds_client 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e61b0d7e66137f470feaa2fbfe4f25bb7b70bc2b
4
+ data.tar.gz: 9d0b95587e5b471ed71619d185721656a6a4bd3b
5
+ SHA512:
6
+ metadata.gz: b139be4b0081e9084eb8ba09b2b175b7f8ab89db16c36c79af48f05413ce9ac30964bf3648b87914dce7f0c86eec8b698e930f0ef56700a4d622a52d444553c3
7
+ data.tar.gz: 2d92cd2ab913f6228f3c87d1b82f13271121276cc8dc42735278103af31239ea3eae42ac4a0c9880f359970b7d1c122306e9570177427f2a60a2500e3f4eed53
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ *.gem
2
+ Gemfile.lock
3
+ .DS_Store
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,26 @@
1
+ stages:
2
+ - test
3
+
4
+ image: docker.webdev.wlw.de/wlw_ruby:2.4.1
5
+
6
+ variables:
7
+ BUNDLE_DIR: vendor/bundle
8
+
9
+ cache:
10
+ key: "${CI_PROJECT_NAME}"
11
+ paths:
12
+ - "${BUNDLE_DIR}"
13
+
14
+ before_script:
15
+ - bundle config --local path "${BUNDLE_DIR}"
16
+ - bundle install
17
+
18
+ rspec:
19
+ stage: test
20
+ script:
21
+ - bundle exec rspec
22
+
23
+ linter:
24
+ stage: test
25
+ script:
26
+ - bundle exec rake wlw_code_conventions:ruby
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,36 @@
1
+ ---
2
+ require: rubocop-rspec
3
+ AllCops:
4
+ DisplayCopNames: true
5
+ Exclude:
6
+ - db/**/*
7
+ - tmp/**/*
8
+ - vendor/**/*
9
+ - wlw_seeds_client.gemspec
10
+ Lint/AmbiguousBlockAssociation:
11
+ Exclude:
12
+ - spec/**/*
13
+ Rails:
14
+ Enabled: false
15
+ Metrics/BlockLength:
16
+ Enabled: false
17
+ Documentation:
18
+ Enabled: false
19
+ Metrics/LineLength:
20
+ Max: 150
21
+ RSpec/DescribeClass:
22
+ Exclude:
23
+ - spec/views/**/*
24
+ - spec/requests/**/*
25
+ - spec/routing/**/*
26
+ - spec/**/*examples.rb
27
+ Metrics/ClassLength:
28
+ Max: 300
29
+ Lint/UselessAssignment:
30
+ Enabled: false
31
+ Style/DateTime:
32
+ Enabled: false
33
+ Style/MethodName:
34
+ Enabled: false
35
+ Style/VariableNumber:
36
+ Enabled: false
@@ -0,0 +1,27 @@
1
+ ---
2
+ require: rubocop-rspec
3
+ AllCops:
4
+ DisplayCopNames: true
5
+ Exclude:
6
+ - wlw_seeds_client.gemspec
7
+ Lint/AmbiguousBlockAssociation:
8
+ Exclude:
9
+ - spec/**/*
10
+ Rails:
11
+ Enabled: false
12
+ Metrics/BlockLength:
13
+ Enabled: false
14
+ Documentation:
15
+ Enabled: false
16
+ Metrics/LineLength:
17
+ Max: 150
18
+ Metrics/ClassLength:
19
+ Max: 300
20
+ Lint/UselessAssignment:
21
+ Enabled: false
22
+ Style/DateTime:
23
+ Enabled: false
24
+ Style/MethodName:
25
+ Enabled: false
26
+ Style/VariableNumber:
27
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.4.1
data/.slim-lint.yml ADDED
@@ -0,0 +1,38 @@
1
+ ---
2
+ linters:
3
+ LineLength:
4
+ max: 150
5
+ RuboCop:
6
+ ignored_cops:
7
+ - Layout/AlignParameters
8
+ - Layout/IndentationWidth
9
+ - Layout/TrailingBlankLines
10
+ - Layout/AlignHash
11
+ - Layout/FirstParameterIndentation
12
+ - Layout/IndentArray
13
+ - Layout/IndentationConsistency
14
+ - Layout/IndentHash
15
+ - Layout/MultilineOperationIndentation
16
+ - Layout/TrailingWhitespace
17
+ - Lint/BlockAlignment
18
+ - Lint/EndAlignment
19
+ - Lint/Void
20
+ - Metrics/BlockLength
21
+ - Metrics/LineLength
22
+ - Style/AlignHash
23
+ - Style/AlignParameters
24
+ - Style/BlockNesting
25
+ - Style/FileName
26
+ - Style/FirstParameterIndentation
27
+ - Style/FrozenStringLiteralComment
28
+ - Style/IdenticalConditionalBranches
29
+ - Style/IfUnlessModifier
30
+ - Style/IndentArray
31
+ - Style/IndentationConsistency
32
+ - Style/IndentationWidth
33
+ - Style/IndentHash
34
+ - Style/MultilineOperationIndentation
35
+ - Style/Next
36
+ - Style/TrailingBlankLines
37
+ - Style/TrailingWhitespace
38
+ - Style/WhileUntilModifier
data/CHANGELOG.md ADDED
@@ -0,0 +1,2 @@
1
+ # Version 0.0.1
2
+ * MSU-934: bootstrap global seeds client gem
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'http://gems.webdev.wlw.de'
4
+ ruby File.read(File.expand_path('.ruby-version', File.dirname(__FILE__))).chomp
5
+
6
+ group :test, :development do
7
+ gem 'rubocop', require: false
8
+ gem 'rubocop-rspec', require: false
9
+ gem 'wlw_sneakers'
10
+ end
11
+
12
+ gemspec
data/README.md ADDED
@@ -0,0 +1,48 @@
1
+ Gem: WlwSeedsClient
2
+ ===================
3
+
4
+ This gem lets you seed remote (from webdevs/wlw_seeds) seed data.
5
+
6
+ Read sth. about the main intent of seeding data between apps:
7
+ [Seeding Data](https://gitlab.webdev.wlw.de/webdevs/knowledge/blob/master/seeds.md)
8
+
9
+
10
+ Usage
11
+ =====
12
+
13
+ Add dependency
14
+ --------------
15
+
16
+ Add this gem to your Gemfile
17
+
18
+ `gem wlw_seeds_client`
19
+
20
+ Seed data
21
+ ---------
22
+
23
+ Example for usage with product_categories data:
24
+
25
+ ```ruby
26
+ # To requesting seeding data for one model you can do:
27
+ WlwSeedsClient.all('product_category').all.each do |product_category|
28
+
29
+ # now you have access to all seeding data with:
30
+ puts product_category.data
31
+
32
+ # To get all images for one model you can do this:
33
+ product_category.images.each do |image|
34
+
35
+ # here you have direct access to data or others methods like:
36
+ # 'content', 'extension', 'type', 'image_url'
37
+ puts image.data
38
+
39
+ end
40
+ end
41
+ ```
42
+
43
+ Convenience functionality
44
+ -------------------------
45
+
46
+ It is often necessary to disable communication to queues. You can do this easily with:
47
+
48
+ `WlwSeedsClient.silence_wlw_sneakers`
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ require 'wlw_code_conventions/tasks'
7
+ defined?(WlwCodeConventions) && WlwCodeConventions.configure do |config|
8
+ config.rubocop = File.expand_path('../.rubocop_custom.yml', __FILE__)
9
+ config.default_task = true
10
+ end
11
+
12
+ RSpec::Core::RakeTask.new(:spec)
13
+ Rake::Task[:default].prerequisites << :spec
14
+
15
+ Dir.glob('lib/tasks/*.rake').each { |r| load r }
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('lib/wlw_seeds_client/wlw_seeds_client')
4
+
5
+ namespace :wlw_seeds_client do
6
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WlwSeedsClient
4
+ class Image
5
+ attr_accessor :model, :branch, :data
6
+
7
+ REMOTE_BASE_PATH = 'https://gitlab.webdev.wlw.de/<namespace>/<project>/raw/<ref>/lib/wlw_seeds/images/<path_to_file>'
8
+ MIME_TYPE_MAP = {
9
+ 'image/jpeg' => 'jpg',
10
+ 'image/png' => 'png',
11
+ 'image/gif' => 'gif'
12
+ }.freeze
13
+
14
+ def initialize(model, branch = 'master', data = {})
15
+ @model = model
16
+ @branch = branch
17
+ @data = data
18
+ end
19
+
20
+ def image_url
21
+ replaces = {
22
+ '<namespace>' => 'webdevs',
23
+ '<project>' => 'wlw_seeds',
24
+ '<ref>' => @branch,
25
+ '<path_to_file>' => @data[:name]
26
+ }
27
+ path = REMOTE_BASE_PATH.dup
28
+ path.gsub(Regexp.union(replaces.keys), replaces)
29
+ end
30
+
31
+ def id
32
+ @data[:id].to_s.to_i
33
+ end
34
+
35
+ def content
36
+ response = WlwSeedsClient.response_with_redirect(image_url)
37
+ ::Base64.encode64(response.body)
38
+ end
39
+
40
+ def original
41
+ {
42
+ content: content,
43
+ 'mime-type' => type
44
+ }
45
+ end
46
+
47
+ def type
48
+ MIME_TYPE_MAP.key(extension)
49
+ end
50
+
51
+ def extension
52
+ File.extname(image_url).gsub(/^\./, '')
53
+ end
54
+
55
+ def width
56
+ 0
57
+ end
58
+
59
+ def height
60
+ 0
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module WlwSeedsClient
6
+ class Model
7
+ attr_accessor :model, :branch, :data, :images
8
+
9
+ def initialize(model, branch, data)
10
+ @data = data
11
+ @images = []
12
+ return unless @data.key?(:images)
13
+ @data[:images].collect do |key, value|
14
+ @images << WlwSeedsClient::Image.new(model, branch, id: key, name: value, ref_id: data[:id])
15
+ end
16
+ end
17
+
18
+ def id
19
+ @data[:id]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WlwSeedsClient
4
+ VERSION = '0.0.2'
5
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support'
4
+ require 'active_support/hash_with_indifferent_access'
5
+ require 'bundler'
6
+ require 'base64'
7
+
8
+ module WlwSeedsClient
9
+ REMOTE_BASE_PATH = 'https://gitlab.webdev.wlw.de/<namespace>/<project>/-/jobs/artifacts/<ref>/raw/<path_to_file>?job=<job_name>'
10
+
11
+ def self.data_url(model, branch)
12
+ replaces = {
13
+ '<namespace>' => 'webdevs',
14
+ '<project>' => 'wlw_seeds',
15
+ '<ref>' => branch,
16
+ '<path_to_file>' => "seed_data/#{model}.json",
17
+ '<job_name>' => 'generate'
18
+ }
19
+ path = REMOTE_BASE_PATH.dup
20
+ path.gsub(Regexp.union(replaces.keys), replaces)
21
+ end
22
+
23
+ def self.all(model, branch = 'master')
24
+ json_data = WlwSeedsClient.json_response(WlwSeedsClient.data_url(model, branch))
25
+ json_data.collect { |model_data| WlwSeedsClient::Model.new(model, branch, model_data) }
26
+ end
27
+
28
+ def self.response_with_redirect(url)
29
+ response = Net::HTTP.get_response(URI(url))
30
+ if response.code.to_i == 301 || response.code.to_i == 302
31
+ response = Net::HTTP.get_response(URI(response['Location']))
32
+ end
33
+ response
34
+ end
35
+
36
+ def self.json_response(url)
37
+ response = WlwSeedsClient.response_with_redirect(url)
38
+ begin
39
+ data = JSON.parse(response.body)
40
+ return data.collect(&:deep_symbolize_keys)
41
+ rescue JSON::ParserError
42
+ return []
43
+ end
44
+ end
45
+
46
+ def self.silence_wlw_sneakers
47
+ require 'wlw_sneakers'
48
+ require File.join(File.dirname(__FILE__), 'wlw_sneakers_overwrite')
49
+ end
50
+ end
51
+
52
+ # base classes
53
+ require 'wlw_seeds_client/model'
54
+ require 'wlw_seeds_client/image'
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WlwSneakers
4
+ class Publisher
5
+ def publish(_msg, _options = {})
6
+ true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_model'
4
+ require 'wlw_seeds_client/wlw_seeds_client'
5
+ require 'pry'
6
+ require 'wlw_sneakers'
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ class TestModel
4
+ @data = {}
5
+ attr_reader :data
6
+
7
+ def initialize(data_init = {})
8
+ @data = data_init
9
+ end
10
+
11
+ def method_missing(name, *args) # rubocop:disable Style/MethodMissing, Lint/UnusedMethodArgument
12
+ return @data[name.to_sym] if @data[name.to_sym]
13
+ false
14
+ end
15
+
16
+ def save!(args)
17
+ args
18
+ end
19
+
20
+ def respond_to_missing?
21
+ false
22
+ end
23
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'net/http'
4
+
5
+ describe WlwSeedsClient::Image do
6
+ let(:model_name) { 'model_name' }
7
+ let(:branch_name) { 'branch_name' }
8
+
9
+ let(:ref_id) { 12_345 }
10
+ let(:image_id) { 123_451 }
11
+ let(:image_name) { 'file_name.jpg' }
12
+ let(:image_body) { 'image_body' }
13
+
14
+ describe 'receives and returns model basics' do
15
+ subject(:model) { described_class.new(model_name, branch_name, id: image_id, name: image_name, ref_id: ref_id) }
16
+
17
+ before do
18
+ response = instance_double('response', code: 200, body: image_body)
19
+ allow(Net::HTTP).to receive(:get_response).and_return(response)
20
+ end
21
+
22
+ it 'returns the id' do
23
+ expect(model.id).to eq(image_id)
24
+ end
25
+
26
+ it 'returns the id from data' do
27
+ expect(model.data[:id]).to eq(image_id)
28
+ end
29
+
30
+ it 'returns the ref_id from data' do
31
+ expect(model.data[:ref_id]).to eq(ref_id)
32
+ end
33
+
34
+ it 'returns the image url' do
35
+ url = "https://gitlab.webdev.wlw.de/webdevs/wlw_seeds/raw/#{branch_name}/lib/wlw_seeds/images/#{image_name}"
36
+ expect(model.image_url).to eq(url)
37
+ end
38
+
39
+ it 'returns file type' do
40
+ expect(model.type).to eq('image/jpeg')
41
+ end
42
+
43
+ it 'returns file extension' do
44
+ expect(model.extension).to eq('jpg')
45
+ end
46
+
47
+ it 'returns file content' do
48
+ expect(model.content).to eq(::Base64.encode64(image_body))
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'net/http'
4
+
5
+ describe WlwSeedsClient::Model do
6
+ let(:model_name) { 'model_name' }
7
+ let(:branch_name) { 'branch_name' }
8
+
9
+ describe 'receiving and parsing of correct data' do
10
+ before do
11
+ response = instance_double('response', code: 200, body: '[{
12
+ "images": {
13
+ "1231": "model_name/123.jpg"
14
+ },
15
+ "id": 123,
16
+ "name": {
17
+ "de": "Deutsch",
18
+ "en": "Englisch"
19
+ }
20
+ }]')
21
+ allow(Net::HTTP).to receive(:get_response).and_return(response)
22
+ end
23
+
24
+ subject(:model) { WlwSeedsClient.all(model_name, branch_name).first }
25
+
26
+ it 'first id of data is filled' do
27
+ expect(model.data[:id]).to eq(123)
28
+ end
29
+
30
+ it 'returns id from data' do
31
+ expect(model.id).to eq(123)
32
+ end
33
+
34
+ it 'nested keys of data is filled' do
35
+ expect(model.data[:name][:de]).to eq('Deutsch')
36
+ end
37
+
38
+ it 'return image size of model' do
39
+ expect(model.images.size).to eq(1)
40
+ end
41
+
42
+ it 'return image id of model function' do
43
+ expect(model.images.first.id).to eq(1231)
44
+ end
45
+
46
+ it 'return image id of model data' do
47
+ expect(model.images.first.data[:id]).to eq(:'1231')
48
+ end
49
+
50
+ it 'return image data of model' do
51
+ expect(model.images.first.data[:ref_id]).to eq(123)
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe WlwSeedsClient do
4
+ let(:model_name) { 'model_name' }
5
+ let(:branch_name) { 'branch_name' }
6
+
7
+ describe 'public methods' do
8
+ it 'returns the model url' do
9
+ url = "https://gitlab.webdev.wlw.de/webdevs/wlw_seeds/-/jobs/artifacts/#{branch_name}/raw/seed_data/#{model_name}.json?job=generate"
10
+ expect(described_class.data_url(model_name, branch_name)).to eq(url)
11
+ end
12
+ end
13
+
14
+ describe 'receiving and parsing of correct data' do
15
+ before do
16
+ response = instance_double('response', code: 200, body: '[{
17
+ "images": {
18
+ "1231": "model_name/123.jpg"
19
+ },
20
+ "id": 123,
21
+ "name": {
22
+ "de": "Deutsch",
23
+ "en": "Englisch"
24
+ }
25
+ }]')
26
+ allow(Net::HTTP).to receive(:get_response).and_return(response)
27
+ end
28
+
29
+ it 'get size of responze' do
30
+ expect(described_class.all(model_name, branch_name).size).to eq(1)
31
+ end
32
+
33
+ it 'first id of data is filled' do
34
+ expect(described_class.all(model_name, branch_name).first.data[:id]).to eq(123)
35
+ end
36
+
37
+ it 'returns id from data' do
38
+ expect(described_class.all(model_name, branch_name).first.id).to eq(123)
39
+ end
40
+
41
+ it 'returns all data' do
42
+ expect(described_class.all(model_name, branch_name).collect(&:id)).to eq([123])
43
+ end
44
+ end
45
+
46
+ describe 'helper functions for disabling queue publishing' do
47
+ it 'pushes to queue' do
48
+ expect { WlwSneakers::Publisher.publish('message', routing_key: 'routing.key') }.to raise_error(NoMethodError)
49
+ end
50
+
51
+ it 'pushes json to queue' do
52
+ expect { WlwSneakers::JsonPublisher.publish({ id: 1 }, routing_key: 'routing.key') }.to raise_error(NoMethodError)
53
+ end
54
+
55
+ it 'monkey-patched pushing to queue' do
56
+ described_class.silence_wlw_sneakers
57
+ expect(WlwSneakers::Publisher.publish('message', routing_key: 'routing.key')).to be(true)
58
+ end
59
+
60
+ it 'monkey-patched pushing json to queue' do
61
+ described_class.silence_wlw_sneakers
62
+ expect(WlwSneakers::JsonPublisher.publish({ id: 1 }, routing_key: 'routing.key')).to be(true)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ lib = File.expand_path('../lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+ require 'wlw_seeds_client/version'
7
+ require 'date'
8
+
9
+ Gem::Specification.new do |spec|
10
+ spec.author = 'Wer liefert Was'
11
+ spec.files = `git ls-files`.split($RS)
12
+ spec.name = 'wlw_seeds_client'
13
+ spec.platform = Gem::Platform::RUBY
14
+ spec.require_paths = ['lib']
15
+ spec.summary = 'remote seeding for wlw projects.'
16
+ spec.version = WlwSeedsClient::VERSION
17
+ spec.date = Date.today.to_s
18
+ spec.test_files = spec.files.grep('spec')
19
+ spec.add_development_dependency 'pry'
20
+ spec.add_development_dependency 'rspec'
21
+ spec.add_development_dependency 'wlw_code_conventions'
22
+ spec.add_runtime_dependency 'wlw_sluggy'
23
+ spec.add_runtime_dependency 'virtus'
24
+ spec.add_runtime_dependency 'activesupport'
25
+ spec.add_runtime_dependency 'bundler'
26
+ end
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wlw_seeds_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Wer liefert Was
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-11-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: wlw_code_conventions
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: wlw_sluggy
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: virtus
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: activesupport
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description:
112
+ email:
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - ".gitignore"
118
+ - ".gitlab-ci.yml"
119
+ - ".rspec"
120
+ - ".rubocop.yml"
121
+ - ".rubocop_custom.yml"
122
+ - ".ruby-version"
123
+ - ".slim-lint.yml"
124
+ - CHANGELOG.md
125
+ - Gemfile
126
+ - README.md
127
+ - Rakefile
128
+ - lib/tasks/seed.rake
129
+ - lib/wlw_seeds_client/image.rb
130
+ - lib/wlw_seeds_client/model.rb
131
+ - lib/wlw_seeds_client/version.rb
132
+ - lib/wlw_seeds_client/wlw_seeds_client.rb
133
+ - lib/wlw_seeds_client/wlw_sneakers_overwrite.rb
134
+ - spec/spec_helper.rb
135
+ - spec/test_model.rb
136
+ - spec/wlw_seeds_client/image_spec.rb
137
+ - spec/wlw_seeds_client/model_spec.rb
138
+ - spec/wlw_seeds_client/wlw_seeds_client_spec.rb
139
+ - wlw_seeds_client.gemspec
140
+ homepage:
141
+ licenses: []
142
+ metadata: {}
143
+ post_install_message:
144
+ rdoc_options: []
145
+ require_paths:
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubyforge_project:
159
+ rubygems_version: 2.6.11
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: remote seeding for wlw projects.
163
+ test_files: []