gem-local 0.1.3 → 0.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6929870d4a726e783406ce179a666cb89e17022
4
- data.tar.gz: 74de361c70467ea9e200918c1256598c418197e2
3
+ metadata.gz: 749ba5593040a0a6d9691df1d726376738440a42
4
+ data.tar.gz: 0fff9cc2a331ae5ea362eb3014c91485c4f3aff6
5
5
  SHA512:
6
- metadata.gz: 70cc81c6831fb21a3c292e614e924dc86f7ef9e62a32966a0e65ec214c5e7b66f3688caa21c614fc49b9c57b75c1b21416b800194cf7e4f9d4d41b79eb9f3fa4
7
- data.tar.gz: 5ac285eaad739c7f8422ab7e34ffd09d960a6c75cc45b261ec70f2c5a8eda1543f4ab83c27cb12ac74e7662b7fb0a92e7c9754e21f91b5a3cb521ecfbba3c3eb
6
+ metadata.gz: dba1ffed3d5c94612b8c47635845ad225d65e7d25315b9318b751697e96d581e2dd9a5cafcbfc69d26fb00db59d23eaed5584be97543d3b73ede0b26e6c6bdc7
7
+ data.tar.gz: 983a1b2454d4310c5ece9a009dfe168350e747b79fe1eb55861034d6de4fd68339065d74a2c1d7056ed2efc942c00c96998ee9c4be66dc7e51f9fa454f646076
data/README.md CHANGED
@@ -15,31 +15,49 @@ gem install gem-local
15
15
  Usage
16
16
  -----
17
17
 
18
- Inside a project with a `Gemfile` where you want to be able to toggle local bundler gem loadpaths, run:
18
+ ### Initialization
19
+
20
+ If using git, inside a project with a `Gemfile` where you want to be able to toggle local bundler gem loadpaths, run:
19
21
 
20
22
  ```sh
21
23
  gem local install
22
24
  ```
23
25
 
26
+ This ensures that the local `.bundle/config` and `.gemlocal` files don't get committed.
27
+
28
+ ### Adding local repos
29
+
24
30
  Define the dependencies of this project that you have local copies of, and their locations:
25
31
 
26
32
  ```sh
27
33
  gem local add my-dependency ~/code/ruby/gems/my-dependency
28
34
  ```
29
35
 
36
+ This lets `git local` know about this dependency.
37
+
38
+ ### Using local repos
39
+
30
40
  When you want to use your local copy, run
31
41
 
32
42
  ```sh
33
43
  gem local use my-dependency
34
44
  ```
35
45
 
46
+ It updates the **local** bundler config (not *global*, as bundler does by default, which many tutorials run with) to refer to the path you supplied it.
47
+
48
+ ### Ignoring local repos
49
+
36
50
  When you want to use the remote version again, run
37
51
 
38
52
  ```sh
39
53
  gem local ignore my-dependency
40
54
  ```
41
55
 
42
- These commands (and their aliases--see the docs) work for multiple registered gems at once, as well as all registered gems if you don't specify any.
56
+ This will remove it from your bundler config and update your `.gitlocal` accordingly to know it's been disabled.
57
+
58
+ ### Multiple gems at once
59
+
60
+ The `use` and `ignore` commands (and their aliases--see the `help`) work for multiple registered gems at once, as well as all registered gems if you don't specify any.
43
61
 
44
62
  ```sh
45
63
  gem local status
@@ -56,14 +74,14 @@ gem local ignore bar fizz
56
74
  # on: buzz @ /Users/rubyist/code/oss/buzz
57
75
  # off: metasyntactic @ /Users/rubyist/code/oss/variable
58
76
 
59
- gem local use
77
+ gem local enable
60
78
  # on: foo @ /Users/rubyist/code/oss/foo
61
79
  # on: bar @ /Users/rubyist/code/oss/bar
62
80
  # on: fizz @ /Users/rubyist/code/oss/fizz
63
81
  # on: buzz @ /Users/rubyist/code/oss/buzz
64
82
  # on: metasyntactic @ /Users/rubyist/code/oss/variable
65
83
 
66
- gem local ignore
84
+ gem local disable
67
85
  # off: foo @ /Users/rubyist/code/oss/foo
68
86
  # off: bar @ /Users/rubyist/code/oss/bar
69
87
  # off: fizz @ /Users/rubyist/code/oss/fizz
@@ -71,7 +89,9 @@ gem local ignore
71
89
  # off: metasyntactic @ /Users/rubyist/code/oss/variable
72
90
  ```
73
91
 
74
- If invocations of `bundle config local...` cause your `.gemlocal` file to get out of sync with bundler's settings, run
92
+ ### Rebuilding the local gem db
93
+
94
+ If invocations of `bundle config --local local...` cause your `.gemlocal` file to get out of sync with bundler's settings in `.bundle/config`, run
75
95
 
76
96
  ```sh
77
97
  gem local rebuild
@@ -79,12 +99,16 @@ gem local rebuild
79
99
 
80
100
  to update your file against bundler's configuration.
81
101
 
102
+ ### Other commands
103
+
82
104
  For other commands and usage, see
83
105
 
84
106
  ```sh
85
107
  gem local help
86
108
  ```
87
109
 
110
+ ### Detailed help
111
+
88
112
  For details on a command, for example `install`, run
89
113
 
90
114
  ```sh
data/gem-local.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "gem-local"
7
- spec.version = "0.1.3"
7
+ spec.version = "0.1.4"
8
8
  spec.authors = ["Chris Keele"]
9
9
  spec.email = ["dev@chriskeele.com"]
10
10
 
@@ -71,7 +71,7 @@ help [cmd] | Displays help information.
71
71
  if name and location and args.empty?
72
72
  setting = Setting.new(location)
73
73
  if bundler_add name, setting
74
- update_config(name, :status, setting.status)
74
+ update_config(name, location: setting.location, status: setting.status)
75
75
  end
76
76
  else
77
77
  arity_error __method__
@@ -111,7 +111,7 @@ help [cmd] | Displays help information.
111
111
  names.each do |name|
112
112
  if setting = config[name]
113
113
  if bundler_add name, setting
114
- update_config(name, :status, "on")
114
+ update_config(name, status: "on")
115
115
  else
116
116
  raise "Could not activate gem, make sure `bundle config local.#{name}` #{setting.location} succeeds"
117
117
  end
@@ -131,7 +131,7 @@ help [cmd] | Displays help information.
131
131
  names.each do |name|
132
132
  if setting = config[name]
133
133
  if bundler_remove name, setting
134
- update_config(name, :status, "off")
134
+ update_config(name, status: "off")
135
135
  else
136
136
  raise "Could not deactivate gem, make sure `bundle config --delete local.#{name}` succeeds"
137
137
  end
@@ -166,7 +166,7 @@ help [cmd] | Displays help information.
166
166
  if args.empty?
167
167
  File.open(find_file('.gitignore'), "a+") do |file|
168
168
  %w[.bundle .gemlocal].each do |ignorable|
169
- unless file.lines.any?{ |line| line.include? ignorable }
169
+ unless file.each_line.any?{ |line| line.include? ignorable }
170
170
  file.puts ignorable
171
171
  end
172
172
  end
@@ -355,9 +355,11 @@ private
355
355
  end
356
356
  end
357
357
 
358
- def update_config(name, field, value)
359
- new_setting = config[name]
360
- new_setting.send(:"#{field}=", value)
358
+ def update_config(name, properties = {})
359
+ new_setting = config[name] || Setting.new(nil)
360
+ properties.each do |field, value|
361
+ new_setting.send(:"#{field}=", value)
362
+ end
361
363
  config[name] = new_setting
362
364
  write_config config
363
365
  puts show_setting_for(name, new_setting)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem-local
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Keele