goodwill 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 190cf786963c8ff0d226d63e1879d14ae3d64ef6
4
- data.tar.gz: 28a25bbe378736a2fee73f65791a5c3434792fba
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YTNiODhhNTFjMWNkNDQyMDk2NTU2MzE3YzExNmZiMzE4ZDg2MTRkMg==
5
+ data.tar.gz: !binary |-
6
+ ODdiNjA0MDVjYTRmMDhkOWU4MTE5NGUyZmYzM2NmMzc3YWMyNTYxMw==
5
7
  SHA512:
6
- metadata.gz: 8b585d7a018dc553ac3c5b7a1e1082cb4dfcc22fd38ae40b7712db01c94fe14454b93d6f8e2af7e6efe619361e4f3d9b22d441737dac7eeedf96f7382c16ffb5
7
- data.tar.gz: 6f49d93d634bb9de097f6193f21ba2b98fa62785dff89dacdebe1cd862872130330b2c22ad260e1a79f4d340bb64406ca85589158bbe08fd3934fe35544ba119
8
+ metadata.gz: !binary |-
9
+ ZGUzNGYzNWNhZGRhNjY2NzJhYzgyNzljZjEzZGFmZmM4YTE0NWZmNjQzZTdh
10
+ MTNmOWY3MzNlYjYxZDlkZjgwNTk5MDg1MWJlODI1ODI0OGIzZDFlZjZiMDgz
11
+ ZjJhODEwMjc4Yjk1MGYxNmZjMDcxODM5NDE4NTEwN2NlZTg3MWI=
12
+ data.tar.gz: !binary |-
13
+ N2JkYjNiNzMwOTY0YTNiZDA4ZjA5NDU2NjYxMzRkZTAwNDljZTBmODRiZmZk
14
+ Y2RhY2U2YzlkZDYyYmVlYmEwNWQ4OTI4NmU0MmYxMmIyNDRlODM1NTI3YTdl
15
+ Njg0Zjc0NmE2NTY1YmRkNWNhMDU5NTk5ZjAwMTVlZTZiNTc1MmI=
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  /local/
13
13
  *.swp
14
14
  *.swo
15
+ *.gem
data/.travis.yml CHANGED
@@ -1,4 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.0
3
+ - 2.2.0
4
4
  before_install: gem install bundler -v 1.10.3
5
+ deploy:
6
+ provider: rubygems
7
+ api_key:
8
+ secure: YORbXXGAPfr5C/RSS+ok1XAfJPKnmEouk9gEPPtx6YkSj5vs786oDZ/K8LIeWZZ3ToILsntz0VFp8OMejYitXOa/wEkuZ6dbALcXqxnj69yJNkeI+WZdnlAiMirxPa/4yOWMd9NKh5cfP+q1ZiMmoTRUjs+2MBveVhCG5fsaxeS0TmTnSw+MkSIDJu6VwqnAX6B7Cs/1/IaJiUNmxGegtMfE7bdL7bRwfijlKgNu/m9vjunbwqSg9EnYFMnus2QIwz7ILgTw40o1Da8Ma76UQtykbWD4Z2bCSwBQlwh43zSl4R1DU3j25718WOEI/ZoYUEWnLuGvhxHlRF8ZeY5EtuQw89fjjOI80GCWCUghzGIBTgtOXzyt1Zk5lLYq1Q4HuxIFq6pv6f3ByYPFQDqym5TV+rl9IvHysxap6QGmQJDVR5TYCw5s43RkP86QwEqtU9BoQshcOkor3GBcC/wJLxDI+nccTzIHWD0ypIpZh/1QypjRqJebdRJ+s8RIxwdXRNUwl8+2WIuOeXV/hXgPnd+VyjuLoJoQHe/ebZfp8o00ZQZeRrPZYGI0XC54jWPA6PsfKCcbgB8wR3NOtVOd0j0Be7Tu35Hfo+rBAyFqiEzHJUkTVbGqePqf+Moa3u+LOKI7ZDXaKKSmyj+IqS9yvzGsuGYumXmAB8Ql/ATQyYM=
9
+ gem: goodwill
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
+ [![Gem Version](https://badge.fury.io/rb/goodwill.svg)](https://badge.fury.io/rb/goodwill)
2
+ [![Build Status](https://travis-ci.org/dudemcbacon/goodwill.svg?branch=master)](https://travis-ci.org/dudemcbacon/goodwill)
1
3
  [![Code Climate](https://codeclimate.com/github/dudemcbacon/goodwill/badges/gpa.svg)](https://codeclimate.com/github/dudemcbacon/goodwill)
2
-
4
+ [![Inline docs](http://inch-ci.org/github/dudemcbacon/goodwill.svg?branch=master)](http://inch-ci.org/github/dudemcbacon/goodwill)
3
5
  # Goodwill
4
6
 
5
7
  Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/goodwill`. To experiment with that code, run `bin/console` for an interactive prompt.
data/goodwill.gemspec CHANGED
@@ -31,6 +31,9 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'rspec', '~> 3.3'
32
32
  spec.add_development_dependency 'rubocop', '~> 0.34'
33
33
  spec.add_development_dependency 'pry', '~> 0.10'
34
+ spec.add_development_dependency 'travis', '~> 1.6'
35
+ spec.add_development_dependency 'gem-release', '~> 0.7'
36
+ spec.add_dependency 'parallel', '~> 1.6'
34
37
  spec.add_dependency 'highline', '~> 1.7'
35
38
  spec.add_dependency 'mechanize', '~> 2.7'
36
39
  spec.add_dependency 'table_print', '~> 1.5'
@@ -3,6 +3,7 @@ require 'goodwill/mechanize'
3
3
  require 'goodwill/urlpaths'
4
4
 
5
5
  require 'mechanize'
6
+ require 'parallel'
6
7
 
7
8
  module Goodwill
8
9
  class Account
@@ -12,18 +13,19 @@ module Goodwill
12
13
  IN_PROG = 'https://www.shopgoodwill.com/buyers/myShop/AuctionsInProgress.asp'
13
14
  PER_PAGE = 25
14
15
 
15
- attr_reader :username, :password
16
+ attr_reader :username, :password, :threads
16
17
 
17
- def initialize(username, password = '')
18
+ def initialize(username, password = '', threads = 10)
18
19
  @username = username
19
20
  @password = password
21
+ @threads = threads
20
22
  Goodwill::Mechanize.username = @username
21
23
  Goodwill::Mechanize.password = @password
22
24
  end
23
25
 
24
26
  def in_progress
25
27
  in_progress_page = mechanize.get(IN_PROG)
26
- in_progress_page.search('table.mySG tbody tr').map do |row|
28
+ Parallel.map(in_progress_page.search('table.mySG tbody tr'), in_threads: @threads) do |row|
27
29
  Goodwill::BiddingAuction.new(itemid_from_open_order_row(row), mechanize)
28
30
  end
29
31
  end
@@ -32,7 +34,7 @@ module Goodwill
32
34
  search_page = mechanize.get(SEARCH_URL + itemTitle)
33
35
  pages(total_items(search_page)).times.map do |i|
34
36
  search_page = search_page.link_with(text: 'Next').click unless i == 0
35
- search_page.search('table.productresults tbody > tr').map do |row|
37
+ Parallel.map(search_page.search('table.productresults tbody > tr'), in_threads: @threads) do |row|
36
38
  Goodwill::Auction.new(itemid_from_search_row(row))
37
39
  end
38
40
  end.flatten
data/lib/goodwill/cli.rb CHANGED
@@ -8,7 +8,7 @@ module Goodwill
8
8
 
9
9
  def initialize(*args)
10
10
  super
11
- return unless args[2][:current_command].name == 'help'
11
+ return if args[2][:current_command].name == 'help'
12
12
 
13
13
  username = options[:username] || ask('Username:')
14
14
  password = options[:password] || ask('Password:') { |q| q.echo = false }
@@ -1,3 +1,3 @@
1
1
  module Goodwill
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -1,125 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goodwill
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Burnett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-11 00:00:00.000000000 Z
11
+ date: 2015-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '10.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '10.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.34'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.34'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.10'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: travis
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: gem-release
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '0.7'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '0.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: parallel
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '1.6'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.6'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: highline
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - "~>"
115
+ - - ~>
74
116
  - !ruby/object:Gem::Version
75
117
  version: '1.7'
76
118
  type: :runtime
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - "~>"
122
+ - - ~>
81
123
  - !ruby/object:Gem::Version
82
124
  version: '1.7'
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: mechanize
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
- - - "~>"
129
+ - - ~>
88
130
  - !ruby/object:Gem::Version
89
131
  version: '2.7'
90
132
  type: :runtime
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
- - - "~>"
136
+ - - ~>
95
137
  - !ruby/object:Gem::Version
96
138
  version: '2.7'
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: table_print
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
- - - "~>"
143
+ - - ~>
102
144
  - !ruby/object:Gem::Version
103
145
  version: '1.5'
104
146
  type: :runtime
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
- - - "~>"
150
+ - - ~>
109
151
  - !ruby/object:Gem::Version
110
152
  version: '1.5'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: thor
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
- - - "~>"
157
+ - - ~>
116
158
  - !ruby/object:Gem::Version
117
159
  version: '0.19'
118
160
  type: :runtime
119
161
  prerelease: false
120
162
  version_requirements: !ruby/object:Gem::Requirement
121
163
  requirements:
122
- - - "~>"
164
+ - - ~>
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0.19'
125
167
  description: Allows you to perform basic auction management, bidding, and searching
@@ -130,10 +172,10 @@ executables: []
130
172
  extensions: []
131
173
  extra_rdoc_files: []
132
174
  files:
133
- - ".env"
134
- - ".gitignore"
135
- - ".rspec"
136
- - ".travis.yml"
175
+ - .env
176
+ - .gitignore
177
+ - .rspec
178
+ - .travis.yml
137
179
  - Gemfile
138
180
  - Gemfile.old
139
181
  - LICENSE.txt
@@ -164,12 +206,12 @@ require_paths:
164
206
  - lib
165
207
  required_ruby_version: !ruby/object:Gem::Requirement
166
208
  requirements:
167
- - - ">="
209
+ - - ! '>='
168
210
  - !ruby/object:Gem::Version
169
211
  version: '0'
170
212
  required_rubygems_version: !ruby/object:Gem::Requirement
171
213
  requirements:
172
- - - ">="
214
+ - - ! '>='
173
215
  - !ruby/object:Gem::Version
174
216
  version: '0'
175
217
  requirements: []