gemlock 0.0.1 → 0.0.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.
- data/Rakefile +5 -0
- data/gemlock.gemspec +6 -0
- data/lib/gemlock.rb +20 -1
- data/lib/gemlock/railtie.rb +10 -0
- data/lib/gemlock/version.rb +1 -1
- data/lib/tasks/gemlock.rake +8 -0
- data/spec/fixtures/Gemfile +16 -0
- data/spec/rake_tasks_spec.rb +33 -0
- data/spec/spec_helper.rb +13 -0
- metadata +78 -8
data/Rakefile
CHANGED
data/gemlock.gemspec
CHANGED
@@ -17,4 +17,10 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_dependency('rake', '>= 0.8.7')
|
22
|
+
|
23
|
+
s.add_development_dependency('rspec' , '~> 2.6.0')
|
24
|
+
s.add_development_dependency('mocha' , '~> 0.10.0')
|
25
|
+
s.add_development_dependency('pry' , '>= 0.9.5')
|
20
26
|
end
|
data/lib/gemlock.rb
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
require "gemlock/version"
|
2
2
|
|
3
3
|
module Gemlock
|
4
|
-
|
4
|
+
require 'gemlock/railtie' if defined?(Rails)
|
5
|
+
|
6
|
+
class << self
|
7
|
+
def lockfile
|
8
|
+
@lockfile = if defined?(Rails)
|
9
|
+
Rails.root.join('Gemfile.lock')
|
10
|
+
else
|
11
|
+
Bundler::SharedHelpers.default_lockfile
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def locked_gemfile_specs
|
16
|
+
locked_content = Bundler.read_file(lockfile)
|
17
|
+
locked = Bundler::LockfileParser.new(locked_content)
|
18
|
+
|
19
|
+
gemfile_names = locked.dependencies.map(&:name)
|
20
|
+
locked_gemfile_specs = locked.specs.clone
|
21
|
+
locked_gemfile_specs.delete_if { |spec| !gemfile_names.include?(spec.name) }
|
22
|
+
end
|
23
|
+
end
|
5
24
|
end
|
data/lib/gemlock/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
gem 'rails', '3.1.0'
|
4
|
+
gem 'sqlite3'
|
5
|
+
gem 'json'
|
6
|
+
|
7
|
+
group :assets do
|
8
|
+
gem 'sass-rails', " ~> 3.1.0"
|
9
|
+
gem 'coffee-rails', "~> 3.1.0"
|
10
|
+
gem 'uglifier'
|
11
|
+
end
|
12
|
+
|
13
|
+
gem 'jquery-rails'
|
14
|
+
gem 'unicorn'
|
15
|
+
gem 'ruby-debug'
|
16
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "rake tasks" do
|
4
|
+
it "output the list of gems & version requirements" do
|
5
|
+
Gemlock.stubs(:lockfile).returns((File.join(File.dirname(__FILE__), 'fixtures', 'Gemfile.lock')))
|
6
|
+
|
7
|
+
specs = Gemlock.locked_gemfile_specs.inject([]) { |a, spec| a << [spec.name, spec.version.to_s]}
|
8
|
+
expected = [["coffee-rails", "3.1.1"], ["jquery-rails", "1.0.14"],
|
9
|
+
["json", "1.6.1"], ["rails", "3.1.0"],
|
10
|
+
["ruby-debug", "0.10.4"], ["sass-rails", "3.1.2"],
|
11
|
+
["sqlite3", "1.3.4"], ["uglifier", "1.0.3"],
|
12
|
+
["unicorn", "4.1.1"]]
|
13
|
+
|
14
|
+
specs.should eql expected
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should load Gemfile.lock from the Rails root if Rails is defined" do
|
18
|
+
module Rails
|
19
|
+
def self.root
|
20
|
+
Pathname.new(File.dirname(__FILE__))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
expected_path = Pathname.new(File.dirname(__FILE__)).join('Gemfile.lock')
|
25
|
+
Gemlock.lockfile.should eql expected_path
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should load Gemfile.lock from the default Bundler location if Rails is not defined" do
|
29
|
+
expected_path = Pathname.new(File.expand_path(File.join(File.dirname(__FILE__), 'Gemfile.lock')))
|
30
|
+
|
31
|
+
Gemlock.lockfile.should eql expected_path
|
32
|
+
end
|
33
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.require(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.mock_with :mocha
|
13
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemlock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mike Skalnik
|
@@ -18,10 +18,73 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2011-09-
|
21
|
+
date: 2011-09-19 00:00:00 -04:00
|
22
22
|
default_executable:
|
23
|
-
dependencies:
|
24
|
-
|
23
|
+
dependencies:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: rake
|
26
|
+
prerelease: false
|
27
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
hash: 49
|
33
|
+
segments:
|
34
|
+
- 0
|
35
|
+
- 8
|
36
|
+
- 7
|
37
|
+
version: 0.8.7
|
38
|
+
type: :runtime
|
39
|
+
version_requirements: *id001
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: rspec
|
42
|
+
prerelease: false
|
43
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
hash: 23
|
49
|
+
segments:
|
50
|
+
- 2
|
51
|
+
- 6
|
52
|
+
- 0
|
53
|
+
version: 2.6.0
|
54
|
+
type: :development
|
55
|
+
version_requirements: *id002
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: mocha
|
58
|
+
prerelease: false
|
59
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
61
|
+
requirements:
|
62
|
+
- - ~>
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
hash: 55
|
65
|
+
segments:
|
66
|
+
- 0
|
67
|
+
- 10
|
68
|
+
- 0
|
69
|
+
version: 0.10.0
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id003
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: pry
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 49
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
- 9
|
84
|
+
- 5
|
85
|
+
version: 0.9.5
|
86
|
+
type: :development
|
87
|
+
version_requirements: *id004
|
25
88
|
description: When installed, allows a user to check for updates in their Rails application
|
26
89
|
email:
|
27
90
|
- mskalnik@gatech.edu
|
@@ -37,7 +100,12 @@ files:
|
|
37
100
|
- Rakefile
|
38
101
|
- gemlock.gemspec
|
39
102
|
- lib/gemlock.rb
|
103
|
+
- lib/gemlock/railtie.rb
|
40
104
|
- lib/gemlock/version.rb
|
105
|
+
- lib/tasks/gemlock.rake
|
106
|
+
- spec/fixtures/Gemfile
|
107
|
+
- spec/rake_tasks_spec.rb
|
108
|
+
- spec/spec_helper.rb
|
41
109
|
has_rdoc: true
|
42
110
|
homepage: ""
|
43
111
|
licenses: []
|
@@ -72,5 +140,7 @@ rubygems_version: 1.5.3
|
|
72
140
|
signing_key:
|
73
141
|
specification_version: 3
|
74
142
|
summary: Get notified when there are updates for gems in your Rails application
|
75
|
-
test_files:
|
76
|
-
|
143
|
+
test_files:
|
144
|
+
- spec/fixtures/Gemfile
|
145
|
+
- spec/rake_tasks_spec.rb
|
146
|
+
- spec/spec_helper.rb
|