gemignore 0.4.0 → 0.5.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.
@@ -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: []