arpm 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ module Git
2
+
3
+ class Repository < Path
4
+ end
5
+
6
+ end
@@ -0,0 +1,27 @@
1
+ module Git
2
+ class Stash
3
+
4
+ def initialize(base, message, existing=false)
5
+ @base = base
6
+ @message = message
7
+ save unless existing
8
+ end
9
+
10
+ def save
11
+ @saved = @base.lib.stash_save(@message)
12
+ end
13
+
14
+ def saved?
15
+ @saved
16
+ end
17
+
18
+ def message
19
+ @message
20
+ end
21
+
22
+ def to_s
23
+ message
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,44 @@
1
+ module Git
2
+
3
+ # object that holds all the available stashes
4
+ class Stashes
5
+ include Enumerable
6
+
7
+ def initialize(base)
8
+ @stashes = []
9
+
10
+ @base = base
11
+
12
+ @base.lib.stashes_all.each do |id, message|
13
+ @stashes.unshift(Git::Stash.new(@base, message, true))
14
+ end
15
+ end
16
+
17
+ def save(message)
18
+ s = Git::Stash.new(@base, message)
19
+ @stashes.unshift(s) if s.saved?
20
+ end
21
+
22
+ def apply(index=nil)
23
+ @base.lib.stash_apply(index)
24
+ end
25
+
26
+ def clear
27
+ @base.lib.stash_clear
28
+ @stashes = []
29
+ end
30
+
31
+ def size
32
+ @stashes.size
33
+ end
34
+
35
+ def each(&block)
36
+ @stashes.each(&block)
37
+ end
38
+
39
+ def [](index)
40
+ @stashes[index.to_i]
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,117 @@
1
+ module Git
2
+
3
+ class Status
4
+ include Enumerable
5
+
6
+ def initialize(base)
7
+ @base = base
8
+ construct_status
9
+ end
10
+
11
+ def changed
12
+ @files.select { |k, f| f.type == 'M' }
13
+ end
14
+
15
+ def added
16
+ @files.select { |k, f| f.type == 'A' }
17
+ end
18
+
19
+ def deleted
20
+ @files.select { |k, f| f.type == 'D' }
21
+ end
22
+
23
+ def untracked
24
+ @files.select { |k, f| f.untracked }
25
+ end
26
+
27
+ def pretty
28
+ out = ''
29
+ self.each do |file|
30
+ out << pretty_file(file)
31
+ end
32
+ out << "\n"
33
+ out
34
+ end
35
+
36
+ def pretty_file(file)
37
+ <<FILE
38
+ #{file.path}
39
+ \tsha(r) #{file.sha_repo.to_s} #{file.mode_repo.to_s}
40
+ \tsha(i) #{file.sha_index.to_s} #{file.mode_index.to_s}
41
+ \ttype #{file.type.to_s}
42
+ \tstage #{file.stage.to_s}
43
+ \tuntrac #{file.untracked.to_s}
44
+ FILE
45
+ end
46
+
47
+ # enumerable method
48
+
49
+ def [](file)
50
+ @files[file]
51
+ end
52
+
53
+ def each(&block)
54
+ @files.values.each(&block)
55
+ end
56
+
57
+ class StatusFile
58
+ attr_accessor :path, :type, :stage, :untracked
59
+ attr_accessor :mode_index, :mode_repo
60
+ attr_accessor :sha_index, :sha_repo
61
+
62
+ def initialize(base, hash)
63
+ @base = base
64
+ @path = hash[:path]
65
+ @type = hash[:type]
66
+ @stage = hash[:stage]
67
+ @mode_index = hash[:mode_index]
68
+ @mode_repo = hash[:mode_repo]
69
+ @sha_index = hash[:sha_index]
70
+ @sha_repo = hash[:sha_repo]
71
+ @untracked = hash[:untracked]
72
+ end
73
+
74
+ def blob(type = :index)
75
+ if type == :repo
76
+ @base.object(@sha_repo)
77
+ else
78
+ @base.object(@sha_index) rescue @base.object(@sha_repo)
79
+ end
80
+ end
81
+
82
+
83
+ end
84
+
85
+ private
86
+
87
+ def construct_status
88
+ @files = @base.lib.ls_files
89
+ ignore = @base.lib.ignored_files
90
+
91
+ # find untracked in working dir
92
+ Dir.chdir(@base.dir.path) do
93
+ Dir.glob('**/*', File::FNM_DOTMATCH) do |file|
94
+ next if @files[file] || File.directory?(file) || ignore.include?(file) || file =~ /^.git\/.+/
95
+
96
+ @files[file] = {:path => file, :untracked => true}
97
+ end
98
+ end
99
+
100
+ # find modified in tree
101
+ @base.lib.diff_files.each do |path, data|
102
+ @files[path] ? @files[path].merge!(data) : @files[path] = data
103
+ end
104
+
105
+ # find added but not committed - new files
106
+ @base.lib.diff_index('HEAD').each do |path, data|
107
+ @files[path] ? @files[path].merge!(data) : @files[path] = data
108
+ end
109
+
110
+ @files.each do |k, file_hash|
111
+ @files[k] = StatusFile.new(@base, file_hash)
112
+ end
113
+ end
114
+
115
+ end
116
+
117
+ end
@@ -0,0 +1,7 @@
1
+ module Git
2
+
3
+ # The current gem version
4
+ # @return [String] the current gem version.
5
+ VERSION='1.2.6.lsremote'
6
+
7
+ end
@@ -0,0 +1,4 @@
1
+ module Git
2
+ class WorkingDirectory < Git::Path
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ module ARPM
2
+ VERSION = "0.9.0"
3
+ end
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": "bergcloud",
4
+ "repository": "https://github.com/bergcloud/devshield-arduino.git",
5
+ "authors": ["Nick Ludlam", "Andy Huntington"],
6
+ "email": "info@bergcloud.com"
7
+ }
8
+ ]
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: arpm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Alex Forey
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: thor
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '0.19'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.19'
55
+ description: Keep your libraries in shape
56
+ email:
57
+ - me@alexforey.com
58
+ executables:
59
+ - arpm
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - .gitignore
64
+ - Gemfile
65
+ - LICENSE.txt
66
+ - README.md
67
+ - Rakefile
68
+ - arpm.gemspec
69
+ - bin/arpm
70
+ - lib/arpm.rb
71
+ - lib/arpm/cli.rb
72
+ - lib/arpm/config.rb
73
+ - lib/arpm/libfile.rb
74
+ - lib/arpm/list.rb
75
+ - lib/arpm/os.rb
76
+ - lib/arpm/package.rb
77
+ - lib/arpm/string.rb
78
+ - lib/arpm/vendor/ruby-git/git.rb
79
+ - lib/arpm/vendor/ruby-git/git/author.rb
80
+ - lib/arpm/vendor/ruby-git/git/base.rb
81
+ - lib/arpm/vendor/ruby-git/git/branch.rb
82
+ - lib/arpm/vendor/ruby-git/git/branches.rb
83
+ - lib/arpm/vendor/ruby-git/git/diff.rb
84
+ - lib/arpm/vendor/ruby-git/git/index.rb
85
+ - lib/arpm/vendor/ruby-git/git/lib.rb
86
+ - lib/arpm/vendor/ruby-git/git/log.rb
87
+ - lib/arpm/vendor/ruby-git/git/object.rb
88
+ - lib/arpm/vendor/ruby-git/git/path.rb
89
+ - lib/arpm/vendor/ruby-git/git/remote.rb
90
+ - lib/arpm/vendor/ruby-git/git/repository.rb
91
+ - lib/arpm/vendor/ruby-git/git/stash.rb
92
+ - lib/arpm/vendor/ruby-git/git/stashes.rb
93
+ - lib/arpm/vendor/ruby-git/git/status.rb
94
+ - lib/arpm/vendor/ruby-git/git/version.rb
95
+ - lib/arpm/vendor/ruby-git/git/working_directory.rb
96
+ - lib/arpm/version.rb
97
+ - packages.json
98
+ homepage: http://arpm.github.io
99
+ licenses:
100
+ - MIT
101
+ metadata: {}
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - '>='
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ requirements: []
117
+ rubyforge_project:
118
+ rubygems_version: 2.0.6
119
+ signing_key:
120
+ specification_version: 4
121
+ summary: The Arduino Package Manager
122
+ test_files: []