witei_web_api 0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b78d49b17ad0be12af621c07a26553f638575c5c843fe9abdc2ea9596eef8b5c
4
+ data.tar.gz: e3d2ec651591c8628bc97a3600e869f6163bf92f7a870556ff116f89f1bb7cd0
5
+ SHA512:
6
+ metadata.gz: 6396a8164034ed980ce5eabc61dfd999d2fa1d03aa71c77cf86146b8b8bcd7d5fa18afecd1da6db3170489bf284538221f30a41c4d19b547be621af0453305df
7
+ data.tar.gz: 1bc876605bf42a155d082f1c356fd4c6f1e5f2e39b6361606924a0f62980a81e320daf9953397f8cfecb8e2c6bf72eafc0d5a6959daccd8d66d43865a6620fe9
data/.gitignore ADDED
@@ -0,0 +1,51 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ ## Specific to RubyMotion:
17
+ .dat*
18
+ .repl_history
19
+ build/
20
+ *.bridgesupport
21
+ build-iPhoneOS/
22
+ build-iPhoneSimulator/
23
+
24
+ ## Specific to RubyMotion (use of CocoaPods):
25
+ #
26
+ # We recommend against adding the Pods directory to your .gitignore. However
27
+ # you should judge for yourself, the pros and cons are mentioned at:
28
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
29
+ #
30
+ # vendor/Pods/
31
+
32
+ ## Documentation cache and generated files:
33
+ /.yardoc/
34
+ /_yardoc/
35
+ /doc/
36
+ /rdoc/
37
+
38
+ ## Environment normalization:
39
+ /.bundle/
40
+ /vendor/bundle
41
+ /lib/bundler/man/
42
+
43
+ # for a library or gem, you might want to ignore these files since the code is
44
+ # intended to run in multiple environments; otherwise, check them in:
45
+ # Gemfile.lock
46
+ # .ruby-version
47
+ # .ruby-gemset
48
+
49
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
+ .rvmrc
51
+ .idea/
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,95 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ witei_web_api (0.1)
5
+ activemodel (~> 5.0)
6
+ mechanize (~> 2.7)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (5.2.0)
12
+ activesupport (= 5.2.0)
13
+ activesupport (5.2.0)
14
+ concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ i18n (>= 0.7, < 2)
16
+ minitest (~> 5.1)
17
+ tzinfo (~> 1.1)
18
+ addressable (2.5.2)
19
+ public_suffix (>= 2.0.2, < 4.0)
20
+ concurrent-ruby (1.0.5)
21
+ connection_pool (2.2.2)
22
+ crack (0.4.3)
23
+ safe_yaml (~> 1.0.0)
24
+ docile (1.3.1)
25
+ domain_name (0.5.20180417)
26
+ unf (>= 0.0.5, < 1.0.0)
27
+ hashdiff (0.3.7)
28
+ http-cookie (1.0.3)
29
+ domain_name (~> 0.5)
30
+ i18n (1.0.1)
31
+ concurrent-ruby (~> 1.0)
32
+ json (2.1.0)
33
+ mechanize (2.7.6)
34
+ domain_name (~> 0.5, >= 0.5.1)
35
+ http-cookie (~> 1.0)
36
+ mime-types (>= 1.17.2)
37
+ net-http-digest_auth (~> 1.1, >= 1.1.1)
38
+ net-http-persistent (>= 2.5.2)
39
+ nokogiri (~> 1.6)
40
+ ntlm-http (~> 0.1, >= 0.1.1)
41
+ webrobots (>= 0.0.9, < 0.2)
42
+ mime-types (3.1)
43
+ mime-types-data (~> 3.2015)
44
+ mime-types-data (3.2016.0521)
45
+ mini_portile2 (2.3.0)
46
+ minitest (5.11.3)
47
+ minitest-line (0.6.5)
48
+ minitest (~> 5.0)
49
+ minitest-proveit (1.0.0)
50
+ minitest (> 5, < 7)
51
+ net-http-digest_auth (1.4.1)
52
+ net-http-persistent (3.0.0)
53
+ connection_pool (~> 2.2)
54
+ nokogiri (1.8.3)
55
+ mini_portile2 (~> 2.3.0)
56
+ ntlm-http (0.1.1)
57
+ public_suffix (3.0.2)
58
+ rake (12.3.1)
59
+ safe_yaml (1.0.4)
60
+ simplecov (0.16.1)
61
+ docile (~> 1.1)
62
+ json (>= 1.8, < 3)
63
+ simplecov-html (~> 0.10.0)
64
+ simplecov-html (0.10.2)
65
+ thread_safe (0.3.6)
66
+ tzinfo (1.2.5)
67
+ thread_safe (~> 0.1)
68
+ unf (0.1.4)
69
+ unf_ext
70
+ unf_ext (0.0.7.5)
71
+ vcr (3.0.3)
72
+ webmock (3.4.2)
73
+ addressable (>= 2.3.6)
74
+ crack (>= 0.3.2)
75
+ hashdiff
76
+ webrobots (0.1.2)
77
+ yard (0.9.14)
78
+
79
+ PLATFORMS
80
+ ruby
81
+
82
+ DEPENDENCIES
83
+ bundler (~> 1.15, >= 1.15.4)
84
+ minitest (~> 5.9, >= 5.9.0)
85
+ minitest-line (~> 0.6, >= 0.6.3)
86
+ minitest-proveit (~> 1.0, >= 1.0.0)
87
+ rake (~> 12.1, >= 12.1.0)
88
+ simplecov (~> 0.11, >= 0.11.2)
89
+ vcr (~> 3.0, >= 3.0.3)
90
+ webmock (~> 3.0, >= 3.0.1)
91
+ witei_web_api!
92
+ yard (~> 0.9, >= 0.9.11)
93
+
94
+ BUNDLED WITH
95
+ 1.16.1
data/LICENSE ADDED
@@ -0,0 +1,41 @@
1
+ CC0 1.0 Universal (CC0 1.0)
2
+ Public Domain Dedication
3
+ https://creativecommons.org/publicdomain/zero/1.0/
4
+
5
+ This is a human-readable summary of the Legal Code:
6
+ https://creativecommons.org/publicdomain/zero/1.0/legalcode
7
+
8
+ Disclaimer
9
+
10
+ The Commons Deed is not a legal instrument. It is simply a handy reference for
11
+ understanding the CC0 Legal Code, a human-readable expression of some of its key
12
+ terms. Think of it as the user-friendly interface to the CC0 Legal Code beneath.
13
+ This Deed itself has no legal value, and its contents do not appear in CC0.
14
+ Creative Commons is not a law firm and does not provide legal services.
15
+ Distributing, displaying, or linking to this Commons Deed does not create an
16
+ attorney-client relationship.
17
+
18
+ Creative Commons has not verified the copyright status of any work to which CC0
19
+ has been applied. CC makes no warranties about any work or its copyright status
20
+ in any jurisdiction, and disclaims all liability for all uses of any work.
21
+
22
+ No Copyright
23
+
24
+ The person who associated a work with this deed has dedicated the work to the
25
+ public domain by waiving all of his or her rights to the work worldwide under
26
+ copyright law, including all related and neighboring rights, to the extent
27
+ allowed by law.
28
+
29
+ You can copy, modify, distribute and perform the work, even for commercial
30
+ purposes, all without asking permission. See Other Information below.
31
+
32
+ Other Information
33
+
34
+ * In no way are the patent or trademark rights of any person affected by CC0,
35
+ nor are the rights that other persons may have in the work or in how the work
36
+ is used, such as publicity or privacy rights.
37
+ * Unless expressly stated otherwise, the person who associated a work with this
38
+ deed makes no warranties about the work, and disclaims liability for all uses
39
+ of the work, to the fullest extent permitted by applicable law.
40
+ * When using or citing the work, you should not imply endorsement by the author
41
+ or the affirmer.
data/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # [Witei Web API](https://github.com/dmitry/witei_web_api)
2
+
3
+
4
+ ## License
5
+
6
+ I don't believe in intellectual "property". If you do, consider Witei Web API as licensed under a Creative Commons [![CC0](http://i.creativecommons.org/p/zero/1.0/80x15.png)](http://creativecommons.org/publicdomain/zero/1.0/) License.
data/Rakefile ADDED
@@ -0,0 +1,43 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+ require 'yard'
4
+ require 'witei_web_api'
5
+
6
+ Encoding.default_external = Encoding::UTF_8
7
+ Encoding.default_internal = Encoding::UTF_8
8
+
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'test'
11
+ t.libs << 'lib'
12
+ t.test_files = FileList['test/**/*_test.rb']
13
+ t.ruby_opts << if ENV['HELL_ENABLED']
14
+ '-W2'
15
+ else
16
+ '-W1'
17
+ end
18
+ end
19
+
20
+ YARD::Rake::YardocTask.new do |t|
21
+ t.files = ['lib/**/*.rb']
22
+ end
23
+
24
+ task default: :test
25
+
26
+ task :console do
27
+ exec "irb -r witei_web_api -I ./lib"
28
+ end
29
+
30
+ task :build do
31
+ exec 'gem build witei_web_api.gemspec'
32
+ end
33
+
34
+ task :push do
35
+ exec "gem push witei_web_api-#{WiteiWebApi::VERSION}.gem"
36
+ end
37
+
38
+ # We're not going to yank on a regular basis, but this is how it's done if you
39
+ # really want a task for that for some reason.
40
+
41
+ # task :yank do
42
+ # exec "gem yank witei_web_api -v #{WiteiWebApi::VERSION}"
43
+ # end
@@ -0,0 +1,16 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'json'
4
+ require 'active_model/forbidden_attributes_protection'
5
+ require 'active_model/attribute_assignment'
6
+
7
+ Bundler.require
8
+
9
+ module WiteiWebApi
10
+ require 'witei_web_api/version'
11
+ require 'witei_web_api/agent'
12
+ require 'witei_web_api/base'
13
+ require 'witei_web_api/house'
14
+ require 'witei_web_api/contact'
15
+ require 'witei_web_api/office_user'
16
+ end
@@ -0,0 +1,13 @@
1
+ require 'mechanize'
2
+
3
+ module WiteiWebApi
4
+ class Agent < Mechanize
5
+ def initialize
6
+ super('witei_web_api')
7
+
8
+ @agent.user_agent = "Witei Web Api (#{WiteiWebApi::VERSION})"
9
+ @agent.open_timeout = 10
10
+ @agent.read_timeout = 10
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,50 @@
1
+ module WiteiWebApi
2
+ class Base
3
+ include ActiveModel::AttributeAssignment
4
+
5
+ class << self
6
+ attr_accessor :login, :password
7
+ end
8
+
9
+ @@login = ENV['login']
10
+ @@password = ENV['password']
11
+
12
+ private
13
+
14
+ def self.agent
15
+ @agent ||= begin
16
+ agent = WiteiWebApi::Agent.new
17
+ do_login!(agent)
18
+ agent
19
+ end
20
+ end
21
+
22
+ def self.do_login(agent, login, password)
23
+ page = agent.get 'https://witei.com/pro/accounts/login/?next=/pro/agencies/dashboard/'
24
+
25
+ form = page.form_with class: 'form-horizontal'
26
+ form.login = login
27
+ form.password = password
28
+ x = form.submit
29
+ x.uri.path == '/pro/agencies/dashboard/'
30
+ end
31
+
32
+ def self.do_login!(agent)
33
+ unless do_login(agent, @@login, @@password)
34
+ raise(LoginFailedException.new)
35
+ end
36
+ end
37
+
38
+ def self.has_one(name, &block)
39
+ define_method(name) do
40
+ id = send(:"#{name}_id")
41
+ if id && !id.empty?
42
+ block.call.find(id)
43
+ end
44
+ end
45
+ end
46
+
47
+ class LoginFailedException < Exception
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ class WiteiWebApi::Contact < WiteiWebApi::Base
2
+ attr_accessor :name, :email, :phone, :phone_alt, :commercial_id
3
+
4
+ has_one(:commercial) { WiteiWebApi::OfficeUser }
5
+
6
+ def self.find(id)
7
+ page = agent.get "https://witei.com/pro/agencies/contact/#{id}/update/"
8
+ form = page.forms_with(css: '.form-horizontal').first
9
+
10
+ contact = new
11
+ contact.assign_attributes(
12
+ name: form['name'],
13
+ email: form['email'],
14
+ phone: form['phone'],
15
+ phone_alt: form['phone_alt'],
16
+ commercial_id: form['commercial']
17
+ )
18
+ contact
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ class WiteiWebApi::House < WiteiWebApi::Base
2
+ attr_accessor :owner_id, :partner_id, :recruiter_id, :commercial_id, :creator_id
3
+
4
+ has_one(:owner) { WiteiWebApi::Contact }
5
+ has_one(:partner) { WiteiWebApi::Contact }
6
+ has_one(:recruiter) { WiteiWebApi::OfficeUser }
7
+ has_one(:commercial) { WiteiWebApi::OfficeUser }
8
+ has_one(:creator) { WiteiWebApi::OfficeUser }
9
+
10
+ def self.find(identifier)
11
+ page = agent.get "https://witei.com/pro/agencies/houses/list/?_hidden__action_identifier_bcd32c=unacc_eq&_hidden_identifier_bcd32c=#{identifier}&listView=block"
12
+ id = page.css('#id_houses_0').first['value']
13
+
14
+ page = agent.get "https://witei.com/pro/house/update/#{id}/"
15
+
16
+ form = page.forms_with(css: '.form-horizontal').first
17
+
18
+ house = new
19
+ house.assign_attributes(
20
+ owner_id: form['owner'],
21
+ partner_id: form['partner'],
22
+ recruiter_id: form['recruiter'],
23
+ commercial_id: form['commercial'],
24
+ creator_id: form['creator']
25
+ )
26
+ house
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ class WiteiWebApi::OfficeUser < WiteiWebApi::Base
2
+ attr_accessor :id, :name, :email, :phone
3
+
4
+ # def self.all
5
+ # agent.get 'https://witei.com/pro/agencies/account_management/agency_users/'
6
+ # end
7
+
8
+ def self.find(id)
9
+ page = agent.get "https://witei.com/pro/agencies/account_management/agency/user_update/#{id}/"
10
+
11
+ form = page.forms_with(css: '.form-horizontal').first
12
+
13
+ office_user = new
14
+ office_user.assign_attributes(
15
+ id: id,
16
+ name: form['username'],
17
+ email: form['email'],
18
+ phone: form['phone']
19
+ )
20
+ office_user
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ module WiteiWebApi
2
+ VERSION = '0.1'
3
+ end
@@ -0,0 +1,32 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'witei_web_api/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'witei_web_api'
7
+ spec.version = WiteiWebApi::VERSION
8
+ spec.authors = ['Dmitry Polushkin']
9
+ spec.email = ['dmitry.polushkin@gmail.com']
10
+
11
+ spec.summary = %q{Witei Web API}
12
+ spec.description = %q{Witei Web API}
13
+ spec.homepage = 'https://github.com/dmitry/witei_web_api'
14
+ spec.license = 'CC0-1.0'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
17
+ spec.require_paths = ['lib']
18
+
19
+ spec.add_development_dependency 'bundler', '~> 1.15', '>= 1.15.4'
20
+ spec.add_development_dependency 'rake', '~> 12.1', '>= 12.1.0'
21
+ spec.add_development_dependency 'minitest-proveit', '~> 1.0', '>= 1.0.0'
22
+ spec.add_development_dependency 'minitest', '~> 5.9', '>= 5.9.0'
23
+ spec.add_development_dependency 'minitest-line', '~> 0.6', '>= 0.6.3'
24
+ spec.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
25
+ spec.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
26
+ spec.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
27
+ spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.11'
28
+ # spec.add_development_dependency 'pry', '~> 0.10', '>= 0.10.3'
29
+
30
+ spec.add_dependency 'mechanize', '~> 2.7'
31
+ spec.add_dependency 'activemodel', '~> 5.0'
32
+ end
metadata ADDED
@@ -0,0 +1,266 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: witei_web_api
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Dmitry Polushkin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-06-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.15.4
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.15'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.15.4
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '12.1'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 12.1.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '12.1'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 12.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: minitest-proveit
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 1.0.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: minitest
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '5.9'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 5.9.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.9'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 5.9.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: minitest-line
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.6'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 0.6.3
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.6'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 0.6.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: webmock
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '3.0'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 3.0.1
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '3.0'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 3.0.1
133
+ - !ruby/object:Gem::Dependency
134
+ name: vcr
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '3.0'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 3.0.3
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '3.0'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.0.3
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.11'
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 0.11.2
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '0.11'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 0.11.2
173
+ - !ruby/object:Gem::Dependency
174
+ name: yard
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.9'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 0.9.11
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.9'
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 0.9.11
193
+ - !ruby/object:Gem::Dependency
194
+ name: mechanize
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '2.7'
200
+ type: :runtime
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '2.7'
207
+ - !ruby/object:Gem::Dependency
208
+ name: activemodel
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '5.0'
214
+ type: :runtime
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: '5.0'
221
+ description: Witei Web API
222
+ email:
223
+ - dmitry.polushkin@gmail.com
224
+ executables: []
225
+ extensions: []
226
+ extra_rdoc_files: []
227
+ files:
228
+ - ".gitignore"
229
+ - Gemfile
230
+ - Gemfile.lock
231
+ - LICENSE
232
+ - README.md
233
+ - Rakefile
234
+ - lib/witei_web_api.rb
235
+ - lib/witei_web_api/agent.rb
236
+ - lib/witei_web_api/base.rb
237
+ - lib/witei_web_api/contact.rb
238
+ - lib/witei_web_api/house.rb
239
+ - lib/witei_web_api/office_user.rb
240
+ - lib/witei_web_api/version.rb
241
+ - witei_web_api.gemspec
242
+ homepage: https://github.com/dmitry/witei_web_api
243
+ licenses:
244
+ - CC0-1.0
245
+ metadata: {}
246
+ post_install_message:
247
+ rdoc_options: []
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: '0'
260
+ requirements: []
261
+ rubyforge_project:
262
+ rubygems_version: 2.7.6
263
+ signing_key:
264
+ specification_version: 4
265
+ summary: Witei Web API
266
+ test_files: []