mgem 0.0.4 → 0.1.0

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.
Files changed (3) hide show
  1. data/bin/mgem +6 -1
  2. data/lib/mgem.rb +17 -2
  3. metadata +2 -2
data/bin/mgem CHANGED
@@ -53,8 +53,13 @@ elsif ARGV[0] == 'search'
53
53
  gems.search(ARGV[1]).each {|gem| info_proc.call(gem) }
54
54
  elsif ARGV[0] == 'update'
55
55
  puts 'Update list of GEMs...'
56
+ amount = gems.size
56
57
  gems.update!
57
- puts 'DONE!'
58
+ gems = load_gems
59
+ new_gems = gems.size - amount
60
+ if new_gems > 0
61
+ puts "#{new_gems} new GEMs!"
62
+ end
58
63
  elsif ARGV[0] == 'config'
59
64
  puts <<__CONFIG__
60
65
  MRuby::Build.new do |conf|
data/lib/mgem.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  require 'yaml'
2
2
  require 'fileutils'
3
+ require "stringio"
3
4
 
4
- MGEM_VERSION = '0.0.4'
5
+ MGEM_VERSION = '0.1.0'
5
6
 
6
7
  MGEM_DIR = '.mgem'
7
8
  GEMS_ACTIVE = 'GEMS_ACTIVE.lst'
@@ -21,7 +22,9 @@ end
21
22
 
22
23
  def initialize_mgem_list(config = {})
23
24
  unless File.exists? config[:mgem_list]
25
+ puts "Loading fresh GEM list..."
24
26
  `git clone #{GEMS_REPO} #{config[:mgem_list]}`
27
+ puts "done!"
25
28
  end
26
29
 
27
30
  unless File.exists? config[:mgem_active]
@@ -110,8 +113,20 @@ class MrbgemList
110
113
  end
111
114
 
112
115
  def update!
116
+ temp_stderr, $stderr = $stderr, StringIO.new
113
117
  git_dir = [@config[:mgem_list], '.git'].join File::SEPARATOR
114
- `git --git-dir=#{git_dir} --work-tree=#{@config[:mgem_list]} pull`
118
+ dir_arg = "--git-dir=#{git_dir} --work-tree=#{@config[:mgem_list]} "
119
+ current_hash = `git #{dir_arg} log -n 1 --pretty=format:%H`
120
+ `git #{dir_arg} pull`
121
+ result = `git #{dir_arg} log #{current_hash}..HEAD --pretty=format:''`
122
+ count = result.lines.count
123
+ if count == 0
124
+ puts "No new GEMs."
125
+ else
126
+ puts "The GEM list was updated!"
127
+ end
128
+ ensure
129
+ $stderr = temp_stderr
115
130
  end
116
131
 
117
132
  private
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: mgem
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.1.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Daniel Bovensiepen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-04 00:00:00.000000000 Z
12
+ date: 2013-01-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: mgem helps you search and find GEMs specifically written for mruby. It also supports by creating a mruby build configuration.
15
15
  email: daniel@bovensiepen.net