goodwill 0.1.0 → 0.1.2

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