gemignore 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d44cc0988c619d159643de9613bc0d47157cf507
4
+ data.tar.gz: 8dfe80392a8e0b72b468491f0a29bc82aabf421d
5
+ SHA512:
6
+ metadata.gz: 209cc9a8d0197810f3e3373d7c03c78be59b0b9cfbec3404305d217350f172545c39f53bb54f0ffd1ca8c897288023c2211559028f79078909feffdd9731936b
7
+ data.tar.gz: c1c87d511ed777529c5ffb8d2b2af3458b29994203f6c59e7ef3b6e549bccd476a7001d6b67d9c9e919605882618d34cf31d6cf6dcff7b98923a40f14fdd7a11
data/Changelog CHANGED
@@ -1,3 +1,12 @@
1
+ == 0.5.0
2
+ * Fix gemignore add error when adding snippet containing certain UTF-8 characters
3
+ * Improve mechanism to store cache on exit (ObjectSpace finalizer migrated to at_exit)
4
+
5
+ == 0.4.1
6
+ * Prevent Faraday 0.9.0+ from being used, since it currently breaks the download
7
+ * Allow newer versions of the "rainbow" gem and bundler to be used
8
+ * Development: Allow newer "jeweler" version that doesn't break with Ruby 2.1
9
+
1
10
  == 0.4.0
2
11
  * Add shortcuts for gemignore commands
3
12
  * Switch to GitHub API v3 (using Octokit)
data/Gemfile CHANGED
@@ -3,7 +3,8 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem "json", ">= 1.5.1"
6
- gem "rainbow", "~> 1.1.1"
6
+ gem "rainbow", "~> 1.1"
7
+ gem "faraday", "~> 0.8.9"
7
8
  gem "octokit", "~> 1.0.5"
8
9
  gem "terminal-table", "~> 1.4.5"
9
10
  gem "ruby-terminfo", "~> 0.1.1"
@@ -12,6 +13,6 @@ gem "ruby-terminfo", "~> 0.1.1"
12
13
  # Include everything needed to run rake, tests, features, etc.
13
14
  group :development do
14
15
  gem "rspec", "~> 2.10.0"
15
- gem "bundler", "~> 1.1.0"
16
- gem "jeweler", "~> 1.6.0"
16
+ gem "bundler", "~> 1.1"
17
+ gem "jeweler", "~> 2.0"
17
18
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: gemignore 0.5.0 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "gemignore"
8
- s.version = "0.4.0"
9
+ s.version = "0.5.0"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Lucas Jenss"]
12
- s.date = "2012-05-24"
14
+ s.date = "2014-01-27"
13
15
  s.description = "gemignore allows you to automatically insert a wide range of preset .gitignore snippets into your .gitignore files"
14
16
  s.email = "lucas@x3ro.de"
15
17
  s.executables = ["gemignore"]
@@ -37,41 +39,43 @@ Gem::Specification.new do |s|
37
39
  ]
38
40
  s.homepage = "http://coding-journal.com/hassle-free-gitignore-management-with-gemignore/"
39
41
  s.licenses = ["MIT"]
40
- s.require_paths = ["lib"]
41
- s.rubygems_version = "1.8.21"
42
+ s.rubygems_version = "2.2.1"
42
43
  s.summary = "A command-line tool which ought to simplify your daily .gitignore hassle"
43
44
 
44
45
  if s.respond_to? :specification_version then
45
- s.specification_version = 3
46
+ s.specification_version = 4
46
47
 
47
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
49
  s.add_runtime_dependency(%q<json>, [">= 1.5.1"])
49
- s.add_runtime_dependency(%q<rainbow>, ["~> 1.1.1"])
50
+ s.add_runtime_dependency(%q<rainbow>, ["~> 1.1"])
51
+ s.add_runtime_dependency(%q<faraday>, ["~> 0.8.9"])
50
52
  s.add_runtime_dependency(%q<octokit>, ["~> 1.0.5"])
51
53
  s.add_runtime_dependency(%q<terminal-table>, ["~> 1.4.5"])
52
54
  s.add_runtime_dependency(%q<ruby-terminfo>, ["~> 0.1.1"])
53
55
  s.add_development_dependency(%q<rspec>, ["~> 2.10.0"])
54
- s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
55
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
56
+ s.add_development_dependency(%q<bundler>, ["~> 1.1"])
57
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
56
58
  else
57
59
  s.add_dependency(%q<json>, [">= 1.5.1"])
58
- s.add_dependency(%q<rainbow>, ["~> 1.1.1"])
60
+ s.add_dependency(%q<rainbow>, ["~> 1.1"])
61
+ s.add_dependency(%q<faraday>, ["~> 0.8.9"])
59
62
  s.add_dependency(%q<octokit>, ["~> 1.0.5"])
60
63
  s.add_dependency(%q<terminal-table>, ["~> 1.4.5"])
61
64
  s.add_dependency(%q<ruby-terminfo>, ["~> 0.1.1"])
62
65
  s.add_dependency(%q<rspec>, ["~> 2.10.0"])
63
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
64
- s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
66
+ s.add_dependency(%q<bundler>, ["~> 1.1"])
67
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
65
68
  end
66
69
  else
67
70
  s.add_dependency(%q<json>, [">= 1.5.1"])
68
- s.add_dependency(%q<rainbow>, ["~> 1.1.1"])
71
+ s.add_dependency(%q<rainbow>, ["~> 1.1"])
72
+ s.add_dependency(%q<faraday>, ["~> 0.8.9"])
69
73
  s.add_dependency(%q<octokit>, ["~> 1.0.5"])
70
74
  s.add_dependency(%q<terminal-table>, ["~> 1.4.5"])
71
75
  s.add_dependency(%q<ruby-terminfo>, ["~> 0.1.1"])
72
76
  s.add_dependency(%q<rspec>, ["~> 2.10.0"])
73
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
74
- s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
77
+ s.add_dependency(%q<bundler>, ["~> 1.1"])
78
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
75
79
  end
76
80
  end
77
81
 
@@ -24,27 +24,11 @@ class GitHub
24
24
 
25
25
  @cache ||= { "creationTime" => Time.now.to_i }
26
26
 
27
-
28
- class << self
29
- # Path to the temporary file where we store our cache object. Necessary so that we can
30
- # access the path in the finalizer.
31
- #
32
- attr_reader :tmpFile
33
-
34
- # The object which is used to cache requests. Necessary so that we may access the cache
35
- # object in the finalizer.
36
- #
37
- attr_reader :cache
38
- end
39
-
40
-
41
- # This finalizer is used to write the cache object to a temporary file when the program
27
+ # Used to write the cache object to a temporary file when the program
42
28
  # exits. We try to load the cache object from the file when this class is created.
43
- #
44
- ObjectSpace.define_finalizer(self, proc do
45
- File.open(self.tmpFile, 'w').write(JSON.generate(self.cache))
46
- end)
47
-
29
+ at_exit {
30
+ File.open(@tmpFile, 'w').write(JSON.generate(@cache))
31
+ }
48
32
 
49
33
  # Retrieve the full list of files available inside the given repository + tree.
50
34
  #
@@ -85,6 +69,11 @@ class GitHub
85
69
  def self.writeCache(idArray, value)
86
70
  raise ArgumentError.new("idArray parameter must be an array") if not idArray.is_a? Array
87
71
  id = idArray.join("$")
72
+
73
+ if value.is_a? String
74
+ value = value.force_encoding("UTF-8")
75
+ end
76
+
88
77
  @cache[id] = value
89
78
  end
90
79
 
@@ -14,6 +14,11 @@ module GemIgnore
14
14
 
15
15
  # Set the repository and branch where we want to retrieve the snippets from
16
16
  def initialize
17
+ trap("INT") do
18
+ error "Interrupt Signal caught. Exiting!"
19
+ exit 1
20
+ end
21
+
17
22
  @snippetRepository = 'github/gitignore'
18
23
  @snippetBranch = 'master'
19
24
  end
metadata CHANGED
@@ -1,144 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemignore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Lucas Jenss
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-05-24 00:00:00.000000000 Z
11
+ date: 2014-01-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.5.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.5.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rainbow
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 1.1.1
33
+ version: '1.1'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: 1.1.1
40
+ version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.8.9
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.8.9
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: octokit
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ~>
59
+ - - "~>"
52
60
  - !ruby/object:Gem::Version
53
61
  version: 1.0.5
54
62
  type: :runtime
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ~>
66
+ - - "~>"
60
67
  - !ruby/object:Gem::Version
61
68
  version: 1.0.5
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: terminal-table
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ~>
73
+ - - "~>"
68
74
  - !ruby/object:Gem::Version
69
75
  version: 1.4.5
70
76
  type: :runtime
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ~>
80
+ - - "~>"
76
81
  - !ruby/object:Gem::Version
77
82
  version: 1.4.5
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: ruby-terminfo
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ~>
87
+ - - "~>"
84
88
  - !ruby/object:Gem::Version
85
89
  version: 0.1.1
86
90
  type: :runtime
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ~>
94
+ - - "~>"
92
95
  - !ruby/object:Gem::Version
93
96
  version: 0.1.1
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: rspec
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
- - - ~>
101
+ - - "~>"
100
102
  - !ruby/object:Gem::Version
101
103
  version: 2.10.0
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
- - - ~>
108
+ - - "~>"
108
109
  - !ruby/object:Gem::Version
109
110
  version: 2.10.0
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: bundler
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.1.0
117
+ version: '1.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
- - - ~>
122
+ - - "~>"
124
123
  - !ruby/object:Gem::Version
125
- version: 1.1.0
124
+ version: '1.1'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: jeweler
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
- - - ~>
129
+ - - "~>"
132
130
  - !ruby/object:Gem::Version
133
- version: 1.6.0
131
+ version: '2.0'
134
132
  type: :development
135
133
  prerelease: false
136
134
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
135
  requirements:
139
- - - ~>
136
+ - - "~>"
140
137
  - !ruby/object:Gem::Version
141
- version: 1.6.0
138
+ version: '2.0'
142
139
  description: gemignore allows you to automatically insert a wide range of preset .gitignore
143
140
  snippets into your .gitignore files
144
141
  email: lucas@x3ro.de
@@ -148,9 +145,9 @@ extensions: []
148
145
  extra_rdoc_files:
149
146
  - README.md
150
147
  files:
151
- - .document
152
- - .rspec
153
- - .yardopts
148
+ - ".document"
149
+ - ".rspec"
150
+ - ".yardopts"
154
151
  - Changelog
155
152
  - Gemfile
156
153
  - README.md
@@ -168,29 +165,25 @@ files:
168
165
  homepage: http://coding-journal.com/hassle-free-gitignore-management-with-gemignore/
169
166
  licenses:
170
167
  - MIT
168
+ metadata: {}
171
169
  post_install_message:
172
170
  rdoc_options: []
173
171
  require_paths:
174
172
  - lib
175
173
  required_ruby_version: !ruby/object:Gem::Requirement
176
- none: false
177
174
  requirements:
178
- - - ! '>='
175
+ - - ">="
179
176
  - !ruby/object:Gem::Version
180
177
  version: '0'
181
- segments:
182
- - 0
183
- hash: -4292039963005680038
184
178
  required_rubygems_version: !ruby/object:Gem::Requirement
185
- none: false
186
179
  requirements:
187
- - - ! '>='
180
+ - - ">="
188
181
  - !ruby/object:Gem::Version
189
182
  version: '0'
190
183
  requirements: []
191
184
  rubyforge_project:
192
- rubygems_version: 1.8.21
185
+ rubygems_version: 2.2.1
193
186
  signing_key:
194
- specification_version: 3
187
+ specification_version: 4
195
188
  summary: A command-line tool which ought to simplify your daily .gitignore hassle
196
189
  test_files: []