witei_web_api 0.1

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
+ 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: []