cinch-toolbox 1.1.4 → 1.1.6

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,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: 74b989f4db81f01c47d4299fe198d9be4c846936
4
- data.tar.gz: 2a248bccde80d1a50f2bce9375937f7bf031f711
2
+ SHA1:
3
+ metadata.gz: 8e4cb9163dbda37fe9464c44c7e1c535393ff7e3
4
+ data.tar.gz: 58fdb864943f0814c191725e138e54066995842f
5
5
  SHA512:
6
- metadata.gz: 1d80772822326e613ec8c225813f5e55370a164904ba04fabcd0dcf1c2b0fb009877dc3a134c3c6f014076e14cd09c85da643bef40adf346aa1e31ce88fb3340
7
- data.tar.gz: 91721aaff6e505cffc115b01ff739e3a5ec76d7245de9b8548e3a6f0ad20591607ecf2f23d8bc17f7c1b9806bbb9c2c2319ca30d764e83b2ac2e47151df76a5e
6
+ metadata.gz: 0ea636880ff96553030ecba06476291a4c3a83226d51fcd962d4000f502d7b933ec55d53945a19c110b49e27d05696a700c307c2094f18e24de7cbc0cc713b62
7
+ data.tar.gz: 581c1ca7340726201fc6fc09f96a6ffc445b8c01f1b5c0effc0d1761f7142a4873dc42fb68769cf180d7480123a71d0fefea578a3e2c059c684f99431309d023
@@ -1,8 +1,16 @@
1
+ addons:
2
+ code_climate:
3
+ repo_token: 09ffc7d4f0f2912b317e719d8f95fd14fcfa3a0a117a24335a33c81d5013c8e5
1
4
  language: ruby
5
+ before_install:
6
+ - gem update --system
7
+ - gem update bundler
2
8
  env:
3
9
  global:
4
10
  - "JRUBY_OPTS=-Xcext.enabled=true"
5
11
  rvm:
12
+ - 2.3.0
13
+ - 2.2.0
6
14
  - 2.1.0
7
15
  - 2.0.0
8
16
  - 1.9.3
@@ -10,15 +18,17 @@ rvm:
10
18
  - 1.8.7
11
19
  - jruby-18mode
12
20
  - jruby-19mode
13
- - rbx
14
21
  - ruby-head
15
22
  - jruby-head
16
23
  - ree
17
24
  matrix:
18
25
  allow_failures:
19
26
  - rvm: 1.8.7
27
+ - rvm: 1.9.2
28
+ - rvm: 1.9.3
20
29
  - rvm: ree
21
30
  - rvm: jruby-18mode
22
31
  - rvm: jruby-19mode
23
32
  - rvm: jruby-head
33
+ - rvm: ruby-head
24
34
  fast_finish: true
@@ -8,21 +8,20 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Cinch::Toolbox::VERSION
9
9
  gem.authors = ['Brian Haberer']
10
10
  gem.email = ['bhaberer@gmail.com']
11
- gem.description = %q{A gem of various methods used in many of my plugins. If you need the namespace, let me know.}
12
- gem.summary = %q{Common methods used in Cinch Plugins.}
11
+ gem.description = %q(A gem of various methods used in many of my plugins. If you need the namespace, let me know.)
12
+ gem.summary = %q(Common methods used in Cinch Plugins.)
13
13
  gem.homepage = 'https://github.com/bhaberer/cinch-toolbox'
14
14
  gem.license = 'MIT'
15
-
16
15
  gem.files = `git ls-files`.split($/)
17
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
+ gem.executables = gem.files.grep(/^bin\//).map { |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(/^(test|spec|features)\//)
19
18
  gem.require_paths = ['lib']
20
19
 
21
- gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'rspec'
23
- gem.add_development_dependency 'coveralls'
24
- gem.add_development_dependency 'fakeweb', '~> 1.3'
25
- gem.add_development_dependency 'cinch-test'
20
+ gem.add_development_dependency 'rake', '~> 10'
21
+ gem.add_development_dependency 'rspec', '~> 3'
22
+ gem.add_development_dependency 'cinch-test', '~> 0.1', '>= 0.1.0'
23
+ gem.add_development_dependency 'fakeweb', '~> 1.3'
24
+ gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
26
25
 
27
- gem.add_dependency 'nokogiri', '~> 1.6.0'
26
+ gem.add_dependency 'nokogiri', '~> 1.6'
28
27
  end
@@ -64,9 +64,9 @@ module Cinch
64
64
  return url if url.length < 45
65
65
  uri = URI.parse("http://is.gd/create.php?format=simple&url=#{url}")
66
66
  shortened = Net::HTTP.get(uri)
67
- shortened if shortened.match(%r(https?://is.gd/))
67
+ shortened if shortened.match(%r{https?://is.gd/})
68
68
  rescue Errno::ETIMEDOUT
69
- # if the URL shortener is down, handle it.
69
+ # if the URL shortener is down, handle it.
70
70
  url
71
71
  end
72
72
 
@@ -76,7 +76,7 @@ module Cinch
76
76
  def self.expand(url)
77
77
  uri = URI.parse("http://is.gd/forward.php?format=simple&shorturl=#{url}")
78
78
  unshortened = Net::HTTP.get(uri)
79
- unshortened unless unshortened.match(%r(https?://is.gd/))
79
+ unshortened unless unshortened.match(%r{https?://is.gd/})
80
80
  end
81
81
 
82
82
  # Truncate a given block of text, used for making sure the bot doesn't
@@ -150,10 +150,9 @@ module Cinch
150
150
  def self.parse_time_hash(times, format)
151
151
  string = []
152
152
  times.each_pair do |period, time|
153
- if period == :seconds || !(time.zero? && string.empty?)
154
- string << [time, format == :long ? " #{period}" : period.slice(0)]
155
- .join
156
- end
153
+ next unless period == :seconds || !(time.zero? && string.empty?)
154
+
155
+ string << [time, format == :long ? " #{period}" : period.slice(0)].join
157
156
  end
158
157
  string.join(', ')
159
158
  end
@@ -2,6 +2,6 @@
2
2
  module Cinch
3
3
  # Version Info
4
4
  module Toolbox
5
- VERSION = '1.1.4'
5
+ VERSION = '1.1.6'
6
6
  end
7
7
  end
@@ -11,94 +11,92 @@ describe Cinch::Toolbox do
11
11
  end
12
12
 
13
13
  it 'should return a string with contents of a css selector of a web page' do
14
- Cinch::Toolbox.get_html_element('http://example.com/', '.foo', :css).
15
- should == 'Bar'
14
+ element = Cinch::Toolbox.get_html_element('http://example.com/', '.foo', :css)
15
+ expect(element).to eq('Bar')
16
16
  end
17
17
 
18
18
  it 'should return a string with full markup of a css selector of a web page' do
19
- Cinch::Toolbox.get_html_element('http://example.com/', '.top', :css_full).
20
- should == @fake_web_html
19
+ element = Cinch::Toolbox.get_html_element('http://example.com/', '.top', :css_full)
20
+ expect(element).to eq(@fake_web_html)
21
21
  end
22
22
 
23
23
  it 'should return a string with contents of a xpath selector of a web page' do
24
- Cinch::Toolbox.get_html_element('http://example.com/', "//div/div[1]", :xpath).
25
- should == 'Bar'
24
+ element = Cinch::Toolbox.get_html_element('http://example.com/', "//div/div[1]", :xpath)
25
+ expect(element).to eq('Bar')
26
26
  end
27
27
 
28
28
  it 'should return a string with contents of a xpath selector of a web page' do
29
- Cinch::Toolbox.get_html_element('http://example.com/', "//div[@id='a1']", :xpath_full).
30
- should == @fake_web_html
29
+ element = Cinch::Toolbox.get_html_element('http://example.com/', "//div[@id='a1']", :xpath_full)
30
+ expect(element).to eq(@fake_web_html)
31
31
  end
32
32
 
33
33
  it 'should return nil if the css element does not exist' do
34
- Cinch::Toolbox.get_html_element('http://example.com/', '.foo2', :css).
35
- should be_nil
34
+ element = Cinch::Toolbox.get_html_element('http://example.com/', '.foo2', :css)
35
+ expect(element).to be_nil
36
36
  end
37
37
 
38
38
  it 'should return nil if the xpath element does not exist' do
39
- Cinch::Toolbox.get_html_element('http://example.com/', "//div/div[3]", :xpath).
40
- should be_nil
39
+ element = Cinch::Toolbox.get_html_element('http://example.com/', "//div/div[3]", :xpath)
40
+ expect(element).to be_nil
41
41
  end
42
42
 
43
43
  it 'should return nil if there is a problem finding the site' do
44
- Cinch::Toolbox.get_html_element('http://baddurl.com/', '.foo2', :css).
45
- should be_nil
44
+ element = Cinch::Toolbox.get_html_element('http://baddurl.com/', '.foo2', :css)
45
+ expect(element).to be_nil
46
46
  end
47
47
 
48
48
  it 'should return the page title if there is a http => https trasition' do
49
- Cinch::Toolbox.get_html_element('http://github.com/bhaberer/', 'title', :css).
50
- should include 'bhaberer (Brian Haberer)'
49
+ element = Cinch::Toolbox.get_html_element('http://github.com/bhaberer/', 'title', :css)
50
+ expect(element).to include('bhaberer (Brian Haberer)')
51
51
  end
52
52
 
53
53
  it 'should return nil if there is a https => http trasition' do
54
- Cinch::Toolbox.get_html_element('https://www.amazon.com/', 'title', :css).
55
- should be_nil
54
+ element = Cinch::Toolbox.get_html_element('https://www.amazon.com/', 'title', :css)
55
+ expect(element).to be_nil
56
56
  end
57
57
  end
58
58
 
59
59
  describe 'the get_page_title method' do
60
- before(:all) do
61
- end
62
-
63
60
  it 'should return a page title for a given url' do
64
- FakeWeb.register_uri( :get, "http://example.com/", :body => "<title>Page Title</table>")
65
- Cinch::Toolbox.get_page_title("http://example.com/").
66
- should == 'Page Title'
61
+ FakeWeb.register_uri( :get, 'http://example.com/',
62
+ body: '<body><title>Page Title</title></body>')
63
+ element = Cinch::Toolbox.get_page_title('http://example.com/')
64
+ expect(element).to eq('Page Title')
67
65
  end
68
66
 
69
67
  it 'should return Nil if a page is lacking a title' do
70
- FakeWeb.register_uri( :get, "http://example.com/", :body => "<body>Page Title</body>")
71
- Cinch::Toolbox.get_page_title("http://example.com/").
72
- should be_nil
68
+ FakeWeb.register_uri( :get, "http://example.com/", body: '<body>Page Title</body>')
69
+ element = Cinch::Toolbox.get_page_title('http://example.com/')
70
+ expect(element).to be_nil
73
71
  end
74
72
 
75
73
  it 'should return an image title if a page is a supported image type' do
76
74
  [:jpg, :jpeg, :gif, :png].each do |image|
77
- Cinch::Toolbox.get_page_title("http://example.com/image.#{image}").
78
- should == "Image from http://example.com"
75
+ img = Cinch::Toolbox.get_page_title("http://example.com/image.#{image}")
76
+ expect(img).to eq('Image from http://example.com')
79
77
  end
80
78
  end
81
79
 
82
80
  it 'should return Nil if a page is lacking a title' do
83
- Cinch::Toolbox.get_page_title("http://i.imgur.com/oMndYK7.jpg").
84
- should == "Anybody with a cat will relate. - Imgur"
81
+ element = Cinch::Toolbox.get_page_title("http://i.imgur.com/oMndYK7.jpg")
82
+ expect(element).to eq('Anybody with a cat will relate. - Imgur')
85
83
  end
86
84
  end
87
85
 
88
86
  describe 'url shortening and expanding' do
89
87
  it 'should shorten long urls' do
90
- Cinch::Toolbox.shorten('http://en.wikipedia.org/wiki/Llanfairpwllgwyngyllgogerychwyrndrobwllllan').
91
- should == "http://is.gd/PaUTII"
88
+ url = Cinch::Toolbox.shorten('http://en.wikipedia.org/wiki/Llanfairpwllgwyngyllgogerychwyrndrobwllllan')
89
+ expect(url).to eq('http://is.gd/PaUTII')
92
90
  end
93
91
 
94
92
  it 'should not shorten urls that are already short enough (< 45 cha)' do
95
- Cinch::Toolbox.shorten('http://en.wikipedia.org/').
96
- should == 'http://en.wikipedia.org/'
93
+ url = Cinch::Toolbox.shorten('http://en.wikipedia.org/')
94
+ expect(url).to eq('http://en.wikipedia.org/')
97
95
  end
98
96
 
99
97
  it 'should be able to expand shortened links' do
100
98
  url = 'http://en.wikipedia.org/wiki/Llanfairpwllgwyngyll'
101
- Cinch::Toolbox.expand(Cinch::Toolbox.shorten(url)).should == url
99
+ expect(url).to eq(Cinch::Toolbox.expand(Cinch::Toolbox.shorten(url)))
102
100
  end
103
101
  end
104
102
 
@@ -106,30 +104,30 @@ describe Cinch::Toolbox do
106
104
  it 'should truncate text past the limit' do
107
105
  foo = String.new
108
106
  1000.times { foo << 'a' }
109
- Cinch::Toolbox.truncate(foo).length.should == 250
107
+ expect(Cinch::Toolbox.truncate(foo).length).to eq(250)
110
108
  end
111
109
 
112
110
  it 'should not truncate text within limit' do
113
111
  foo = String.new
114
112
  1000.times { foo << 'a' }
115
- Cinch::Toolbox.truncate(foo, 100).length.should == 100
113
+ expect(Cinch::Toolbox.truncate(foo, 100).length).to eq(100)
116
114
  end
117
115
  end
118
116
 
119
117
  describe 'time parseing' do
120
118
  it 'should parse seconds into a user friendly string' do
121
- Cinch::Toolbox.time_format(126).
122
- should == '2 mins, 6 seconds'
119
+ expect(Cinch::Toolbox.time_format(126))
120
+ .to eq('2 mins, 6 seconds')
123
121
  end
124
122
 
125
123
  it 'should allow users to limit the kinds of units returned' do
126
- Cinch::Toolbox.time_format(126020, [:days, :seconds]).
127
- should == '1 days, 20 seconds'
124
+ expect(Cinch::Toolbox.time_format(126020, [:days, :seconds]))
125
+ .to eq('1 days, 20 seconds')
128
126
  end
129
127
 
130
128
  it 'should allow users to specify short form' do
131
- Cinch::Toolbox.time_format(126000, [:days], :short).
132
- should == '1d'
129
+ expect(Cinch::Toolbox.time_format(126000, [:days], :short))
130
+ .to eq('1d')
133
131
  end
134
132
  end
135
133
  end
@@ -1,11 +1,5 @@
1
- require 'coveralls'
2
- require 'simplecov'
3
-
4
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
5
- SimpleCov::Formatter::HTMLFormatter,
6
- Coveralls::SimpleCov::Formatter
7
- ]
8
- SimpleCov.start
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
9
3
 
10
4
  require 'cinch/toolbox'
11
5
  require 'cinch/test'
metadata CHANGED
@@ -1,99 +1,105 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-toolbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Haberer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-15 00:00:00.000000000 Z
11
+ date: 2016-01-28 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
- version: '0'
19
+ version: '10'
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
- version: '0'
26
+ version: '10'
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
- version: '0'
33
+ version: '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
- version: '0'
40
+ version: '3'
41
41
  - !ruby/object:Gem::Dependency
42
- name: coveralls
42
+ name: cinch-test
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.1'
48
+ - - ">="
46
49
  - !ruby/object:Gem::Version
47
- version: '0'
50
+ version: 0.1.0
48
51
  type: :development
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
- - - ! '>='
55
+ - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: '0'
57
+ version: '0.1'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.1.0
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: fakeweb
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ~>
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
67
  version: '1.3'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ~>
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
74
  version: '1.3'
69
75
  - !ruby/object:Gem::Dependency
70
- name: cinch-test
76
+ name: codeclimate-test-reporter
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - ! '>='
79
+ - - "~>"
74
80
  - !ruby/object:Gem::Version
75
- version: '0'
81
+ version: '0.4'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - ! '>='
86
+ - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: '0'
88
+ version: '0.4'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: nokogiri
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - ~>
93
+ - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: 1.6.0
95
+ version: '1.6'
90
96
  type: :runtime
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - ~>
100
+ - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: 1.6.0
102
+ version: '1.6'
97
103
  description: A gem of various methods used in many of my plugins. If you need the
98
104
  namespace, let me know.
99
105
  email:
@@ -102,8 +108,8 @@ executables: []
102
108
  extensions: []
103
109
  extra_rdoc_files: []
104
110
  files:
105
- - .gitignore
106
- - .travis.yml
111
+ - ".gitignore"
112
+ - ".travis.yml"
107
113
  - Gemfile
108
114
  - LICENSE.txt
109
115
  - README.md
@@ -123,17 +129,17 @@ require_paths:
123
129
  - lib
124
130
  required_ruby_version: !ruby/object:Gem::Requirement
125
131
  requirements:
126
- - - ! '>='
132
+ - - ">="
127
133
  - !ruby/object:Gem::Version
128
134
  version: '0'
129
135
  required_rubygems_version: !ruby/object:Gem::Requirement
130
136
  requirements:
131
- - - ! '>='
137
+ - - ">="
132
138
  - !ruby/object:Gem::Version
133
139
  version: '0'
134
140
  requirements: []
135
141
  rubyforge_project:
136
- rubygems_version: 2.2.2
142
+ rubygems_version: 2.5.1
137
143
  signing_key:
138
144
  specification_version: 4
139
145
  summary: Common methods used in Cinch Plugins.