runcoderun-gem_sync 0.4.5 → 0.4.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.
data/History.txt CHANGED
@@ -1,7 +1,13 @@
1
+ === 0.4.6
2
+ * Bug fixes
3
+
4
+ === 0.4.5
5
+ * Allow reading gem list directly from a source on the web, using openuri
6
+ * Allow reading from the gem list on github directly with an arg of __from_github__ to #install_gems - this means I no longer have to push gem updates to grab new gems
7
+
1
8
  === 0.2.5
2
9
  * rename to GemSync...github adds the name spacing anyways
3
10
 
4
11
  === 0.2.0 / 2008-09-05
5
-
6
12
  * added bin
7
13
  * renamed
data/gem_sync.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{gem_sync}
3
- s.version = "0.4.5"
3
+ s.version = "0.4.6"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new("= 1.2") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Rob Sanheim @ Relevance"]
data/lib/rcr/gem_sync.rb CHANGED
@@ -3,24 +3,34 @@ require 'open-uri'
3
3
 
4
4
  module Rcr
5
5
  class GemSync
6
- VERSION = '0.4.5'
6
+ VERSION = '0.4.6'
7
7
  GITHUB = "http://gems.github.com"
8
8
  RCR_DEFAULT_GEM_LIST = File.expand_path(File.join(File.dirname(__FILE__), *%w[.. runcoderun_gems.txt]))
9
9
  RCR_GITHUB_GEM_LIST = "http://github.com/runcoderun/gem_sync/tree/master%2Flib%2Fruncoderun_gems.txt?raw=true"
10
10
 
11
- def self.install_gems(gem_list = RCR_DEFAULT_GEM_LIST)
11
+ def self.install_gems(gem_list = nil)
12
+ gem_list = RCR_DEFAULT_GEM_LIST unless gem_list
13
+ puts "gem_list: #{gem_list.inspect}"
12
14
  update_self
13
15
  read_gem_list(gem_list)
14
16
  install_gems_from_list
15
17
  update_gems
16
18
  end
17
19
 
20
+ def self.fail_if_gem_list_doesnt_exist(gem_list)
21
+ raise("gem_list should not be nil") unless gem_list
22
+ unless gem_list[0..3] == "http"
23
+ raise("file for gem_list #{gem_list} not found!") unless File.exists?(gem_list)
24
+ end
25
+ end
26
+
18
27
  def self.update_self
19
28
  puts `gem update runcoderun-gem_sync --source #{GITHUB}`
20
29
  end
21
30
 
22
31
  def self.read_gem_list(gem_list)
23
32
  list = gem_list == "__from_github__" ? RCR_GITHUB_GEM_LIST : gem_list
33
+ fail_if_gem_list_doesnt_exist(list)
24
34
  puts "Running gem_sync with list: #{list}."
25
35
  @@gem_list = open(list).read
26
36
  end
@@ -4,26 +4,38 @@ require File.join(File.dirname(__FILE__), *%w[.. lib rcr gem_sync])
4
4
 
5
5
  describe 'GemSync' do
6
6
 
7
+ describe "calling gem_sync" do
8
+ end
9
+
7
10
  describe "reading file" do
8
11
  before do
9
12
  Rcr::GemSync.stubs :update_self
10
13
  Rcr::GemSync.stubs :install_gems_from_list
11
14
  Rcr::GemSync.stubs :update_gems
12
15
  end
16
+
17
+ it "uses default gem list for nil gem list" do
18
+ Rcr::GemSync.expects(:open).with(Rcr::GemSync::RCR_DEFAULT_GEM_LIST).returns(StringIO.new)
19
+ Rcr::GemSync.install_gems
20
+ Rcr::GemSync.expects(:open).with(Rcr::GemSync::RCR_DEFAULT_GEM_LIST).returns(StringIO.new)
21
+ Rcr::GemSync.install_gems nil
22
+ end
13
23
 
14
24
  it "allows overriding gem list file" do
25
+ Rcr::GemSync.stubs(:fail_if_gem_list_doesnt_exist).returns(true)
15
26
  Rcr::GemSync.expects(:open).with("/my/gems.txt").returns(StringIO.new)
16
27
  Rcr::GemSync.install_gems "/my/gems.txt"
17
28
  end
18
29
 
19
30
  it "reads file for gem list" do
31
+ Rcr::GemSync.stubs(:fail_if_gem_list_doesnt_exist).returns(true)
20
32
  Rcr::GemSync.expects(:open).with("/my/gems.txt").returns(StringIO.new)
21
33
  Rcr::GemSync.read_gem_list "/my/gems.txt"
22
34
  end
23
35
 
24
- it "reads from gem list on github if passed symbol :github_list" do
36
+ it "reads from gem list on github if passed github param" do
25
37
  Rcr::GemSync.expects(:open).with(Rcr::GemSync::RCR_GITHUB_GEM_LIST).returns(StringIO.new)
26
- Rcr::GemSync.install_gems "__gem_sync__"
38
+ Rcr::GemSync.install_gems "__from_github__"
27
39
  end
28
40
 
29
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runcoderun-gem_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Sanheim @ Relevance