gemline 0.4.0 → 0.4.5

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
- SHA1:
3
- metadata.gz: 40c67d8b6da4db9e5c1e72ec503472e777ffb236
4
- data.tar.gz: bfed976a867e9dbaa5ebf34ef6bb3adf8d594ecc
2
+ SHA256:
3
+ metadata.gz: e3db9a6652fac1ac236055d4788dbf67546683d8dbab7d17a7af1c1aa523097e
4
+ data.tar.gz: 0613e6225bcb1016d8a0535dae98388455e4eb0b9ac415ea0e5c95c087c4f5e3
5
5
  SHA512:
6
- metadata.gz: 81b9ece9c9252124be218de2b1fab46f584f3925bd3b044ca495c8a49f805825d0c94bd91a171a55a6f16dc37dba50f09421a1288fd58eb4b7e2804fe700f370
7
- data.tar.gz: 05714764adb0dd2e420989e23e5a60afdf2b4f52a91b6b13b9db29b13b3dfbbed126f74666117d0f50e0f599726dbfac6bb4c33cf7df3e6a2a098dea3083622c
6
+ metadata.gz: 31a155836315d9bababfb8b505c6df2893213b5f7fb08ca20f4aed963c9e0acdd169324092093e8272caf116fa6c8cea15f41e8e4bd3601060e222f3e211df67
7
+ data.tar.gz: 1d21c18c40a0af36d350ad709437d94b7840eb046febea3ff8407ea8bf4d3c9e194cca535ba6caf666f2896a294e0e5ebebf3918aefe1092f9eb825bb5a1ba84
@@ -0,0 +1,32 @@
1
+ name: Ruby CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths-ignore:
8
+ - 'README.rdoc'
9
+ pull_request:
10
+ branches:
11
+ - main
12
+ paths-ignore:
13
+ - 'README.rdoc'
14
+ jobs:
15
+ test:
16
+ runs-on: ubuntu-latest
17
+ if: "contains(github.event.commits[0].message, '[ci skip]') == false"
18
+
19
+ strategy:
20
+ matrix:
21
+ ruby: [3.0.2, 2.7.4, 2.6.8]
22
+
23
+ steps:
24
+ - name: Checkout
25
+ uses: actions/checkout@v2
26
+ - name: Setup Ruby
27
+ uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby }}
30
+ bundler-cache: true
31
+ - name: Test
32
+ run: bundle exec rake spec
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in gemline.gemspec
4
4
  gemspec
data/README.rdoc CHANGED
@@ -1,5 +1,7 @@
1
1
  = gemline
2
2
 
3
+ {<img src="https://travis-ci.org/joealba/gemline.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/joealba/gemline]
4
+
3
5
  Create a tilde-arrow Gemfile line for a gem on rubygems.org using the latest version number available according to the rubygems api.
4
6
 
5
7
  If possible, we'll also copy that Gemfile line into the clipboard using pbcopy.
data/gemline.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |gem|
4
- gem.authors = ["Joseph Alba"]
4
+ gem.authors = ["Joe Alba"]
5
5
  gem.email = ["joe@joealba.com"]
6
6
  gem.description = %q{Grab the latest Gemfile 'gem' line for a specific Ruby gem}
7
7
  gem.summary = %q{}
8
- gem.homepage = "http://github.com/joealba/gemline"
8
+ gem.homepage = "https://github.com/joealba/gemline"
9
9
 
10
10
  gem.executables = ['gemline']
11
11
  gem.files = `git ls-files`.split("\n")
@@ -13,10 +13,10 @@ Gem::Specification.new do |gem|
13
13
  gem.name = "gemline"
14
14
  gem.require_paths = ["lib"]
15
15
 
16
- gem.version = '0.4.0'
16
+ gem.version = '0.4.5'
17
+ gem.license = 'MIT'
17
18
 
18
- gem.add_dependency "json_pure", ">= 1.7.6"
19
- gem.add_dependency "clipboard", ">= 1.0.1"
19
+ gem.add_dependency "clipboard", ">= 1.3.5"
20
20
 
21
21
  # if RUBY_PLATFORM =~ /(win|w)32$/
22
22
  ## The clipboard gem doesn't do a platform-dependent check,
@@ -24,7 +24,7 @@ Gem::Specification.new do |gem|
24
24
  gem.add_dependency "ffi"
25
25
  # end
26
26
 
27
- gem.add_development_dependency "rake" # For Travis CI
28
- gem.add_development_dependency "rspec", ">= 2.14.0"
29
- gem.add_development_dependency "simplecov", "~> 0.7.1"
27
+ gem.add_development_dependency "rake"
28
+ gem.add_development_dependency "rspec", ">= 3.0"
29
+ gem.add_development_dependency "simplecov"
30
30
  end
data/lib/gemline.rb CHANGED
@@ -1,6 +1,6 @@
1
- require 'json/pure'
2
1
  require 'net/https'
3
2
  require 'clipboard'
3
+ require 'json'
4
4
 
5
5
  class Gemline
6
6
  attr_accessor :gem, :gemline, :json, :response
@@ -31,17 +31,15 @@ class Gemline
31
31
  end
32
32
 
33
33
  def gem_not_found?
34
- @json.match(/(could not be found|does not exist)/)
34
+ !!@json.match(/(could not be found|does not exist)/)
35
35
  end
36
36
 
37
-
38
37
  private
39
38
 
40
39
  def self.get_rubygem_json(gem_name)
41
40
  uri = URI.parse("https://rubygems.org/api/v1/gems/#{gem_name}.json")
42
41
  http = Net::HTTP.new(uri.host, uri.port)
43
42
  http.use_ssl = true
44
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
45
43
  request = Net::HTTP::Get.new(uri.request_uri)
46
44
  response = http.request(request)
47
45
  response.body
@@ -66,6 +64,7 @@ class Gemline
66
64
  options[:group] = [options[:group]].flatten.map { |x| x.to_sym }
67
65
  options[:group] = options[:group].first if options[:group].length == 1
68
66
  end
67
+
69
68
  options.inspect.delete('{}').gsub(/(?!\s)=>(?!\s)/, ' => ')
70
69
  end
71
70
 
@@ -85,5 +84,4 @@ class Gemline
85
84
  ## Yeah, I hate this too. But it does what I want -- silently fail if Clipboard fails.
86
85
  end
87
86
  end
88
-
89
87
  end
@@ -3,7 +3,7 @@ require 'stringio'
3
3
 
4
4
  describe "gemline output" do
5
5
 
6
- before do
6
+ before do
7
7
  stub_rubygems_json_output
8
8
  end
9
9
 
@@ -13,7 +13,7 @@ describe "gemline output" do
13
13
  end
14
14
 
15
15
  it "should output nothing to STDOUT on error" do
16
- Kernel.stub(:exit)
16
+ allow(Kernel).to receive(:exit).and_return(true)
17
17
  grab_io { Gemline.query('doesnotexist') }
18
18
  expect(@stdout.readlines.count).to eq(0)
19
19
  end
data/spec/gemline_spec.rb CHANGED
@@ -15,14 +15,14 @@ describe Gemline do
15
15
 
16
16
  it "should whine when the gem you are querying does not exist" do
17
17
  g = Gemline.new('doesnotexist')
18
- g.gem_not_found?.should be_true
19
- expect(g.gemline).to be_nil
18
+ expect(g.gem_not_found?).to eq true
19
+ expect(g.gemline).to eq nil
20
20
  end
21
21
 
22
22
  it "should properly detect a blocked gem name" do
23
23
  g = Gemline.new('yaml')
24
- expect(g.gem_not_found?).to be_true
25
- expect(g.gemline).to be_nil
24
+ expect(g.gem_not_found?).to eq true
25
+ expect(g.gemline).to eq nil
26
26
  end
27
27
 
28
28
  it "should properly handle funny characters in the returned JSON" do
data/spec/spec_helper.rb CHANGED
@@ -1,29 +1,21 @@
1
- if RUBY_VERSION >= '1.9'
2
- require 'simplecov'
3
- SimpleCov.start do
4
- add_filter "/spec/"
5
- end
1
+ require 'simplecov'
2
+ SimpleCov.start do
3
+ add_filter "/spec/"
6
4
  end
7
5
 
8
6
  $LOAD_PATH.unshift(File.dirname(__FILE__))
9
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
10
8
 
11
- require 'rubygems'
12
9
  require 'gemline'
13
10
 
14
- require 'bundler'
15
- Bundler.setup
16
-
17
-
18
11
  RSpec.configure do |c|
19
12
  # c.mock_with :rr
20
13
  end
21
14
 
22
-
23
15
  def stub_rubygems_json_output
24
16
  Dir.glob(File.join(File.dirname(__FILE__),'samples', '*.json')).each do |f|
25
17
  gem_name = $1 if f =~ /\/([\w\-]+).json$/
26
- Gemline.stub(:get_rubygem_json).with(gem_name).and_return(IO.read(f))
18
+ allow(Gemline).to receive(:get_rubygem_json).with(gem_name).and_return(IO.read(f))
27
19
  end
28
20
  end
29
21
 
metadata CHANGED
@@ -1,99 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
- - Joseph Alba
8
- autorequire:
7
+ - Joe Alba
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-06 00:00:00.000000000 Z
11
+ date: 2021-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: json_pure
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: 1.7.6
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: 1.7.6
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: clipboard
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '>='
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
- version: 1.0.1
19
+ version: 1.3.5
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '>='
24
+ - - ">="
39
25
  - !ruby/object:Gem::Version
40
- version: 1.0.1
26
+ version: 1.3.5
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: ffi
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - '>='
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '0'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - '>='
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '>='
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
47
  version: '0'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - '>='
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rspec
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - '>='
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: 2.14.0
61
+ version: '3.0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - '>='
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: 2.14.0
68
+ version: '3.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: simplecov
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ~>
73
+ - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: 0.7.1
75
+ version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ~>
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: 0.7.1
82
+ version: '0'
97
83
  description: Grab the latest Gemfile 'gem' line for a specific Ruby gem
98
84
  email:
99
85
  - joe@joealba.com
@@ -102,9 +88,9 @@ executables:
102
88
  extensions: []
103
89
  extra_rdoc_files: []
104
90
  files:
105
- - .gitignore
106
- - .rspec
107
- - .travis.yml
91
+ - ".github/workflows/tests.yml"
92
+ - ".gitignore"
93
+ - ".rspec"
108
94
  - Gemfile
109
95
  - README.rdoc
110
96
  - Rakefile
@@ -118,27 +104,27 @@ files:
118
104
  - spec/samples/rails.json
119
105
  - spec/samples/yaml.json
120
106
  - spec/spec_helper.rb
121
- homepage: http://github.com/joealba/gemline
122
- licenses: []
107
+ homepage: https://github.com/joealba/gemline
108
+ licenses:
109
+ - MIT
123
110
  metadata: {}
124
- post_install_message:
111
+ post_install_message:
125
112
  rdoc_options: []
126
113
  require_paths:
127
114
  - lib
128
115
  required_ruby_version: !ruby/object:Gem::Requirement
129
116
  requirements:
130
- - - '>='
117
+ - - ">="
131
118
  - !ruby/object:Gem::Version
132
119
  version: '0'
133
120
  required_rubygems_version: !ruby/object:Gem::Requirement
134
121
  requirements:
135
- - - '>='
122
+ - - ">="
136
123
  - !ruby/object:Gem::Version
137
124
  version: '0'
138
125
  requirements: []
139
- rubyforge_project:
140
- rubygems_version: 2.1.9
141
- signing_key:
126
+ rubygems_version: 3.1.4
127
+ signing_key:
142
128
  specification_version: 4
143
129
  summary: ''
144
130
  test_files:
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - 1.9.3
5
- - 2.0.0
6
- - jruby