activesambaldap 0.0.4 → 0.0.5
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.
- data/NEWS.en +5 -1
- data/NEWS.ja +5 -1
- data/README.en +3 -2
- data/README.ja +3 -2
- data/bin/asl-passwd +1 -7
- data/bin/asl-samba-usermod +3 -8
- data/bin/asl-usermod +3 -8
- data/data/locale/ja/LC_MESSAGES/active-samba-ldap.mo +0 -0
- data/lib/active_samba_ldap/account_entry.rb +1 -1
- data/lib/active_samba_ldap/configuration.rb +2 -2
- data/lib/active_samba_ldap/samba_account_entry.rb +1 -1
- data/lib/active_samba_ldap/version.rb +1 -1
- data/lib/active_samba_ldap.rb +2 -2
- data/po/active-samba-ldap.pot +8 -12
- data/po/ja/active-samba-ldap.po +9 -13
- data/test/asl-test-utils.rb +4 -4
- data/test/run-test.rb +1 -1
- data/test/test-unit-ext/priority.rb +15 -5
- data/test/test_asl_useradd.rb +3 -3
- data/test/test_asl_usermod.rb +9 -1
- data/test/test_entry.rb +1 -1
- metadata +3 -3
data/NEWS.en
CHANGED
data/NEWS.ja
CHANGED
data/README.en
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
= README.en
|
4
4
|
|
5
|
-
$Id: README.en
|
5
|
+
$Id: README.en 132 2007-11-19 11:53:22Z kou $
|
6
6
|
|
7
7
|
== Name
|
8
8
|
|
@@ -37,7 +37,7 @@ asl-devel@rubyforge.org
|
|
37
37
|
|
38
38
|
== Dependency libraries
|
39
39
|
|
40
|
-
* ActiveLdap >= 0.
|
40
|
+
* ActiveLdap >= 0.9.0
|
41
41
|
|
42
42
|
== Usage
|
43
43
|
|
@@ -330,3 +330,4 @@ asl-populate, please confirm the following:
|
|
330
330
|
== Thanks
|
331
331
|
|
332
332
|
* Henrik Krög: He reported some bugs.
|
333
|
+
* Olivier DIRRENBERGER: He reported a bug.
|
data/README.ja
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
= README.ja
|
4
4
|
|
5
|
-
$Id: README.ja
|
5
|
+
$Id: README.ja 132 2007-11-19 11:53:22Z kou $
|
6
6
|
|
7
7
|
== 名前
|
8
8
|
|
@@ -34,7 +34,7 @@ asl-devel-ja@rubyforge.org
|
|
34
34
|
|
35
35
|
== 依存ライブラリ
|
36
36
|
|
37
|
-
* ActiveLdap >= 0.
|
37
|
+
* ActiveLdap >= 0.9.0
|
38
38
|
|
39
39
|
== 使用法
|
40
40
|
|
@@ -325,3 +325,4 @@ LDAP管理ユーザのパスワードを設定しておく必要があります
|
|
325
325
|
== 感謝
|
326
326
|
|
327
327
|
* Henrik Krög: バグを報告してくれました。
|
328
|
+
* Olivier DIRRENBERGER: バグを報告してくれました。
|
data/bin/asl-passwd
CHANGED
@@ -57,14 +57,8 @@ user = User.find(name)
|
|
57
57
|
unless Process.uid.zero?
|
58
58
|
prompt = _("Enter your current password: ")
|
59
59
|
old_password = ActiveSambaLdap::Command.read_password(prompt)
|
60
|
-
|
61
|
-
auth_class = Class.new(ActiveSambaLdap::Base)
|
62
|
-
config = ActiveSambaLdap::Base.configurations["reference"].symbolize_keys
|
63
60
|
begin
|
64
|
-
|
65
|
-
:password => old_password,
|
66
|
-
:allow_anonymous => false))
|
67
|
-
auth_class.remove_connection
|
61
|
+
user.bind(old_password)
|
68
62
|
rescue ActiveLdap::AuthenticationError
|
69
63
|
$stderr.puts(_("password doesn't match."))
|
70
64
|
exit 1
|
data/bin/asl-samba-usermod
CHANGED
@@ -64,18 +64,13 @@ member = member_class.find(name)
|
|
64
64
|
unless Process.uid.zero?
|
65
65
|
password = ActiveSambaLdap::Command.read_password(_("Enter your password: "))
|
66
66
|
|
67
|
-
auth_class = Class.new(ActiveSambaLdap::Base)
|
68
|
-
config = ActiveSambaLdap::Base.configurations["reference"]
|
69
67
|
begin
|
70
|
-
|
71
|
-
:password => password,
|
72
|
-
:allow_anonymous => false))
|
68
|
+
member.bind(password)
|
73
69
|
rescue ActiveLdap::AuthenticationError
|
74
|
-
$stderr.puts(_("password
|
70
|
+
$stderr.puts(_("password doesn't match."))
|
75
71
|
exit 1
|
76
|
-
ensure
|
77
|
-
auth_class.remove_connection
|
78
72
|
end
|
73
|
+
member.remove_connection
|
79
74
|
end
|
80
75
|
|
81
76
|
if options.gid
|
data/bin/asl-usermod
CHANGED
@@ -175,18 +175,13 @@ member = member_class.find(name)
|
|
175
175
|
unless Process.uid.zero?
|
176
176
|
password = ActiveSambaLdap::Command.read_password(_("Enter your password: "))
|
177
177
|
|
178
|
-
auth_class = Class.new(ActiveSambaLdap::Base)
|
179
|
-
config = ActiveSambaLdap::Base.configurations["reference"]
|
180
178
|
begin
|
181
|
-
|
182
|
-
:password => password,
|
183
|
-
:allow_anonymous => false))
|
179
|
+
member.bind(password)
|
184
180
|
rescue ActiveLdap::AuthenticationError
|
185
|
-
$stderr.puts(_("password
|
181
|
+
$stderr.puts(_("password doesn't match."))
|
186
182
|
exit 1
|
187
|
-
ensure
|
188
|
-
auth_class.remove_connection
|
189
183
|
end
|
184
|
+
member.remove_connection
|
190
185
|
end
|
191
186
|
|
192
187
|
if options.uid
|
Binary file
|
@@ -144,7 +144,7 @@ module ActiveSambaLdap
|
|
144
144
|
Dir.glob(File.join(skel, "*")) -
|
145
145
|
[File.join(skel, "."), File.join(skel, "..")],
|
146
146
|
dest)
|
147
|
-
FileUtils.chown_R(uid_number, gid_number, dest)
|
147
|
+
FileUtils.chown_R(uid_number.to_s, gid_number.to_s, dest)
|
148
148
|
end
|
149
149
|
|
150
150
|
private
|
@@ -57,10 +57,10 @@ module ActiveSambaLdap
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
def merge_configuration(config)
|
60
|
+
def merge_configuration(config, *rest)
|
61
61
|
config = config.symbolize_keys
|
62
62
|
config = (configurations["common"] || {}).symbolize_keys.merge(config)
|
63
|
-
ValidHash.new.merge(super(Private.new(config).merge))
|
63
|
+
ValidHash.new.merge(super(Private.new(config).merge, *rest))
|
64
64
|
end
|
65
65
|
|
66
66
|
def required_configuration_variables(*names)
|
@@ -25,7 +25,7 @@ module ActiveSambaLdap
|
|
25
25
|
end
|
26
26
|
|
27
27
|
# FAR_FUTURE_TIME = Time.parse("2050/01/01").to_i.to_s
|
28
|
-
FAR_FUTURE_TIME = Time.parse("2038/01/
|
28
|
+
FAR_FUTURE_TIME = Time.parse("2038/01/18").to_i.to_s
|
29
29
|
ACCOUNT_FLAGS_RE = /\A\[([NDHTUMWSLXI ]+)\]\z/
|
30
30
|
|
31
31
|
module ClassMethods
|
data/lib/active_samba_ldap.rb
CHANGED
@@ -8,8 +8,8 @@ require_gem_if_need = Proc.new do |library_name, gem_name, *options|
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
required_active_ldap_version = ">= 0.
|
12
|
-
require_gem_if_need.call("active_ldap", "
|
11
|
+
required_active_ldap_version = ">= 0.9.0"
|
12
|
+
require_gem_if_need.call("active_ldap", "activeldap",
|
13
13
|
required_active_ldap_version)
|
14
14
|
|
15
15
|
if Dependencies.respond_to?(:load_paths)
|
data/po/active-samba-ldap.pot
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: Ruby/ActiveSambaLdap 0.0.
|
10
|
-
"POT-Creation-Date: 2007-09-16 22:
|
9
|
+
"Project-Id-Version: Ruby/ActiveSambaLdap 0.0.5\n"
|
10
|
+
"POT-Creation-Date: 2007-09-16 22:47+0900\n"
|
11
11
|
"PO-Revision-Date: 2007-09-08 11:51+0900\n"
|
12
12
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13
13
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -196,19 +196,19 @@ msgstr ""
|
|
196
196
|
msgid "Enter your current password: "
|
197
197
|
msgstr ""
|
198
198
|
|
199
|
-
#: bin/asl-passwd:
|
199
|
+
#: bin/asl-passwd:63 bin/asl-samba-usermod:70 bin/asl-usermod:181
|
200
200
|
msgid "password doesn't match."
|
201
201
|
msgstr ""
|
202
202
|
|
203
|
-
#: bin/asl-passwd:
|
203
|
+
#: bin/asl-passwd:68
|
204
204
|
msgid "New password: "
|
205
205
|
msgstr ""
|
206
206
|
|
207
|
-
#: bin/asl-passwd:
|
207
|
+
#: bin/asl-passwd:69
|
208
208
|
msgid "Retype new password: "
|
209
209
|
msgstr ""
|
210
210
|
|
211
|
-
#: bin/asl-passwd:
|
211
|
+
#: bin/asl-passwd:72
|
212
212
|
msgid "New passwords don't match."
|
213
213
|
msgstr ""
|
214
214
|
|
@@ -328,7 +328,7 @@ msgstr ""
|
|
328
328
|
msgid "illegal %s name: %s"
|
329
329
|
msgstr ""
|
330
330
|
|
331
|
-
#: bin/asl-useradd:182 bin/asl-usermod:
|
331
|
+
#: bin/asl-useradd:182 bin/asl-usermod:308
|
332
332
|
msgid "%s already exists: %s"
|
333
333
|
msgstr ""
|
334
334
|
|
@@ -348,10 +348,6 @@ msgstr ""
|
|
348
348
|
msgid "Enter your password: "
|
349
349
|
msgstr ""
|
350
350
|
|
351
|
-
#: bin/asl-samba-usermod:74 bin/asl-usermod:185
|
352
|
-
msgid "password isn't match."
|
353
|
-
msgstr ""
|
354
|
-
|
355
351
|
#: bin/asl-populate:30
|
356
352
|
msgid "first uid number to allocate"
|
357
353
|
msgstr ""
|
@@ -450,7 +446,7 @@ msgstr ""
|
|
450
446
|
msgid "enable this user"
|
451
447
|
msgstr ""
|
452
448
|
|
453
|
-
#: bin/asl-usermod:
|
449
|
+
#: bin/asl-usermod:234 bin/asl-usermod:238
|
454
450
|
msgid "not implemented."
|
455
451
|
msgstr ""
|
456
452
|
|
data/po/ja/active-samba-ldap.po
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
#
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: Ruby/ActiveSambaLdap 0.0.
|
10
|
-
"POT-Creation-Date: 2007-09-16 22:
|
11
|
-
"PO-Revision-Date: 2007-09-16 22:
|
9
|
+
"Project-Id-Version: Ruby/ActiveSambaLdap 0.0.5\n"
|
10
|
+
"POT-Creation-Date: 2007-09-16 22:47+0900\n"
|
11
|
+
"PO-Revision-Date: 2007-09-16 22:47+0900\n"
|
12
12
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
13
13
|
"Language-Team: Japanese\n"
|
14
14
|
"MIME-Version: 1.0\n"
|
@@ -202,19 +202,19 @@ msgstr "何もしません。"
|
|
202
202
|
msgid "Enter your current password: "
|
203
203
|
msgstr "現在のパスワードを入力してください: "
|
204
204
|
|
205
|
-
#: bin/asl-passwd:
|
205
|
+
#: bin/asl-passwd:63 bin/asl-samba-usermod:70 bin/asl-usermod:181
|
206
206
|
msgid "password doesn't match."
|
207
207
|
msgstr "パスワードが合っていません。"
|
208
208
|
|
209
|
-
#: bin/asl-passwd:
|
209
|
+
#: bin/asl-passwd:68
|
210
210
|
msgid "New password: "
|
211
211
|
msgstr "新しいパスワード: "
|
212
212
|
|
213
|
-
#: bin/asl-passwd:
|
213
|
+
#: bin/asl-passwd:69
|
214
214
|
msgid "Retype new password: "
|
215
215
|
msgstr "新しいパスワードをもう一度入力してください: "
|
216
216
|
|
217
|
-
#: bin/asl-passwd:
|
217
|
+
#: bin/asl-passwd:72
|
218
218
|
msgid "New passwords don't match."
|
219
219
|
msgstr "新しいパスワードが合っていません。"
|
220
220
|
|
@@ -334,7 +334,7 @@ msgstr "(Sambaのアカウント制御ビット。例: '[NDHTUMWSLXI]')"
|
|
334
334
|
msgid "illegal %s name: %s"
|
335
335
|
msgstr "不正な%s名: %s"
|
336
336
|
|
337
|
-
#: bin/asl-useradd:182 bin/asl-usermod:
|
337
|
+
#: bin/asl-useradd:182 bin/asl-usermod:308
|
338
338
|
msgid "%s already exists: %s"
|
339
339
|
msgstr "すでに存在する%sです: %s"
|
340
340
|
|
@@ -354,10 +354,6 @@ msgstr "追加用メンバーと削除用メンバーに重複しているメン
|
|
354
354
|
msgid "Enter your password: "
|
355
355
|
msgstr "あなたのパスワードを入力してください: "
|
356
356
|
|
357
|
-
#: bin/asl-samba-usermod:74 bin/asl-usermod:185
|
358
|
-
msgid "password isn't match."
|
359
|
-
msgstr "パスワードが合っていません。"
|
360
|
-
|
361
357
|
#: bin/asl-populate:30
|
362
358
|
msgid "first uid number to allocate"
|
363
359
|
msgstr "最初に割り当てるUID番号"
|
@@ -456,7 +452,7 @@ msgstr "このユーザを無効にする"
|
|
456
452
|
msgid "enable this user"
|
457
453
|
msgstr "このユーザを有効にする"
|
458
454
|
|
459
|
-
#: bin/asl-usermod:
|
455
|
+
#: bin/asl-usermod:234 bin/asl-usermod:238
|
460
456
|
msgid "not implemented."
|
461
457
|
msgstr "実装されていません。"
|
462
458
|
|
data/test/asl-test-utils.rb
CHANGED
@@ -114,7 +114,7 @@ module AslTestUtils
|
|
114
114
|
home_directory = config[:home_directory] || "/tmp/#{name}-#{Process.pid}"
|
115
115
|
ensure_delete_user(name, home_directory) do
|
116
116
|
password = config[:password] || "password"
|
117
|
-
uid_number = config[:uid_number] ||
|
117
|
+
uid_number = config[:uid_number] || (1000000 + @user_index)
|
118
118
|
default_user_gid = @user_class.configuration[:default_user_gid]
|
119
119
|
gid_number = config[:gid_number] || default_user_gid
|
120
120
|
_wrap_assertion do
|
@@ -152,7 +152,7 @@ module AslTestUtils
|
|
152
152
|
home_directory = config[:home_directory] || "/tmp/#{name}-#{Process.pid}"
|
153
153
|
ensure_delete_computer(name, home_directory) do |name, home_directory|
|
154
154
|
password = config[:password]
|
155
|
-
uid_number = config[:uid_number] ||
|
155
|
+
uid_number = config[:uid_number] || (1000000 + @computer_index)
|
156
156
|
default_computer_gid =
|
157
157
|
@computer_class.configuration[:default_computer_gid]
|
158
158
|
gid_number = config[:gid_number] || default_computer_gid
|
@@ -187,7 +187,7 @@ module AslTestUtils
|
|
187
187
|
@group_index += 1
|
188
188
|
name = config[:name] || "test-group#{@group_index}"
|
189
189
|
ensure_delete_group(name) do
|
190
|
-
gid_number = config[:gid_number] ||
|
190
|
+
gid_number = config[:gid_number] || (2000000 + @group_index)
|
191
191
|
group_type = config[:group_type] || "domain"
|
192
192
|
_wrap_assertion do
|
193
193
|
assert(!@group_class.exists?(name))
|
@@ -246,7 +246,7 @@ module AslTestUtils
|
|
246
246
|
@lib_dir = File.join(@top_dir, "lib")
|
247
247
|
@ruby_args = [
|
248
248
|
"-I", @lib_dir,
|
249
|
-
|
249
|
+
"-I", File.join(@parent_dir, "activeldap", "lib"),
|
250
250
|
# "-I", File.join(@parent_dir, "ldap", "lib"),
|
251
251
|
# "-I", File.join(@parent_dir, "ldap"),
|
252
252
|
]
|
data/test/run-test.rb
CHANGED
@@ -7,7 +7,7 @@ require "test/unit"
|
|
7
7
|
top_dir = File.join(File.dirname(__FILE__), "..")
|
8
8
|
# $LOAD_PATH.unshift(File.join(top_dir, "..", "ldap", "lib"))
|
9
9
|
# $LOAD_PATH.unshift(File.join(top_dir, "..", "ldap"))
|
10
|
-
|
10
|
+
$LOAD_PATH.unshift(File.join(top_dir, "..", "activeldap", "lib"))
|
11
11
|
$LOAD_PATH.unshift(File.join(top_dir, "lib"))
|
12
12
|
$LOAD_PATH.unshift(File.join(top_dir, "test"))
|
13
13
|
|
@@ -23,7 +23,9 @@ module Test
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
alias_method :method_added_without_priority, :method_added
|
26
27
|
def method_added(name)
|
28
|
+
method_added_without_priority(name)
|
27
29
|
set_priority(name) if defined?(@priority_initialized)
|
28
30
|
end
|
29
31
|
|
@@ -108,10 +110,18 @@ module Test
|
|
108
110
|
end
|
109
111
|
|
110
112
|
def result_dir
|
111
|
-
|
112
|
-
|
113
|
+
components = [".test-result", self.class.name, @method_name.to_s]
|
114
|
+
dir = File.join(File.dirname($0), *components)
|
113
115
|
dir = File.expand_path(dir)
|
114
|
-
|
116
|
+
begin
|
117
|
+
FileUtils.mkdir_p(dir)
|
118
|
+
rescue Errno::EACCES
|
119
|
+
retry_dir = File.join(File.dirname(__FILE__), "..", *components)
|
120
|
+
retry_dir = File.expand_path(retry_dir)
|
121
|
+
raise if retry_dir == dir
|
122
|
+
dir = retry_dir
|
123
|
+
retry
|
124
|
+
end
|
115
125
|
dir
|
116
126
|
end
|
117
127
|
|
@@ -163,9 +173,9 @@ module Test
|
|
163
173
|
end
|
164
174
|
|
165
175
|
class AutoRunner
|
166
|
-
alias_method :
|
176
|
+
alias_method :options_without_priority, :options
|
167
177
|
def options
|
168
|
-
opts =
|
178
|
+
opts = options_without_priority
|
169
179
|
opts.on("--[no-]priority", "use priority mode") do |bool|
|
170
180
|
TestSuite.priority_mode = bool
|
171
181
|
end
|
data/test/test_asl_useradd.rb
CHANGED
@@ -149,7 +149,7 @@ class AslUserAddTest < Test::Unit::TestCase
|
|
149
149
|
user = @user_class.find(uid)
|
150
150
|
primary_group = @group_class.find(:first,
|
151
151
|
:attribute => "gidNumber",
|
152
|
-
:value => user.gid_number)
|
152
|
+
:value => user.gid_number.to_s)
|
153
153
|
groups = @group_class.find(:all,
|
154
154
|
:attribute => "memberUid",
|
155
155
|
:value => uid)
|
@@ -167,7 +167,7 @@ class AslUserAddTest < Test::Unit::TestCase
|
|
167
167
|
computer = @computer_class.find(uid)
|
168
168
|
primary_group = @group_class.find(:first,
|
169
169
|
:attribute => "gidNumber",
|
170
|
-
:value => computer.gid_number)
|
170
|
+
:value => computer.gid_number.to_s)
|
171
171
|
groups = @group_class.find(:all,
|
172
172
|
:attribute => "memberUid",
|
173
173
|
:value => uid)
|
@@ -442,7 +442,7 @@ class AslUserAddTest < Test::Unit::TestCase
|
|
442
442
|
expire_date = Time.now + 60 * 24
|
443
443
|
assert_asl_useradd_successfully(uid, "--expire-date", expire_date.iso8601)
|
444
444
|
user = @user_class.find(uid)
|
445
|
-
assert_equal(expire_date.to_i
|
445
|
+
assert_equal(expire_date.to_i, user.samba_kickoff_time)
|
446
446
|
end
|
447
447
|
end
|
448
448
|
|
data/test/test_asl_usermod.rb
CHANGED
@@ -351,7 +351,7 @@ class AslUserModTest < Test::Unit::TestCase
|
|
351
351
|
assert_asl_usermod_successfully(user.uid, password, *args)
|
352
352
|
|
353
353
|
new_user = @user_class.find(user.uid)
|
354
|
-
assert_equal(new_expire_date.to_i
|
354
|
+
assert_equal(new_expire_date.to_i, new_user.samba_kickoff_time)
|
355
355
|
end
|
356
356
|
end
|
357
357
|
|
@@ -520,6 +520,14 @@ class AslUserModTest < Test::Unit::TestCase
|
|
520
520
|
end
|
521
521
|
end
|
522
522
|
|
523
|
+
def test_wrong_password
|
524
|
+
make_dummy_user do |user, password|
|
525
|
+
assert_asl_usermod_failed(user.uid,
|
526
|
+
"wrong-#{password}",
|
527
|
+
_("password doesn't match.") + "\n")
|
528
|
+
end
|
529
|
+
end
|
530
|
+
|
523
531
|
private
|
524
532
|
def assert_asl_usermod_successfully(name, password, *args)
|
525
533
|
args << name
|
data/test/test_entry.rb
CHANGED
@@ -15,7 +15,7 @@ class EntryTest < Test::Unit::TestCase
|
|
15
15
|
params = params.stringify_keys if stringify
|
16
16
|
user = @user_class.create(params)
|
17
17
|
assert(@user_class.exists?(name))
|
18
|
-
assert_equal(ActiveSambaLdap::Group::DOMAIN_USERS_RID
|
18
|
+
assert_equal(ActiveSambaLdap::Group::DOMAIN_USERS_RID,
|
19
19
|
user.primary_group.gid_number)
|
20
20
|
end
|
21
21
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: activesambaldap
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.0.5
|
7
|
+
date: 2007-11-19 00:00:00 +09:00
|
8
8
|
summary: ActiveSambaLdap is a library and a management tool for Samba + LDAP environment.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -175,7 +175,7 @@ dependencies:
|
|
175
175
|
requirements:
|
176
176
|
- - ">="
|
177
177
|
- !ruby/object:Gem::Version
|
178
|
-
version: 0.
|
178
|
+
version: 0.9.0
|
179
179
|
version:
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: hoe
|