card 1.101.1 → 1.101.2

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
  SHA256:
3
- metadata.gz: 953dba50deba8e3b104b8caab032ddae23e4127a3b13dfefa90b1f5b72b13867
4
- data.tar.gz: 6e0fee19ff4bb0eb6141cd57cf1bcddace1acc2286ea2315eb7d9976fcaaa5c4
3
+ metadata.gz: af639cc0367bf40d94b5f4f4b170898aecf1fabd9554613cd6ead266c3460758
4
+ data.tar.gz: 156bdc8fb46acd5d05ee77e371dc3baebc51ab038064099ac7489106fdf150db
5
5
  SHA512:
6
- metadata.gz: e5f7cac62d75acc245dedc32be5806369222dabf16176bab11ce415a301384369b0bf23d79ef65fc5659e9b0d1f31231a8d103e925cae88dbb8b88bd375a5b89
7
- data.tar.gz: eecb87ea692bde6079b689b2fd1814fcd16507f7e42bce43e1f1b35368628d47649e1609de574f87fc918fdb1ee9fd4553e7ee83a1a5189626f59c7b3644b332
6
+ metadata.gz: 686e3a3cf69d047756b65f65868c55403493bf94f8e77ce9cc71cf7a1eccb931096cdc0f0fbe593827133bb525ef7132dc1be8ad6fb00c7d8492b273e31b8d9d
7
+ data.tar.gz: 6f0db4e8c51a8b7e4f03fc184ac134747443c0f31f58fc2e8609a065b38e653c62d22fbf99d3d6cf31f3979cdbd0fc699a0e120371d8e6d5827ca204857cc369
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.1
1
+ 0.11.2
@@ -66,7 +66,7 @@ module Patches
66
66
  module ConnectionAdapters
67
67
  module AbstractAdapter
68
68
  def match _string
69
- raise I18n.t(:exception_not_implemented, scope: "lib.card.active_record_ext")
69
+ raise tr(:exception_not_implemented)
70
70
  end
71
71
 
72
72
  def cast_types
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # key name prefixes:
6
6
  # 'exception_' begins key of text to be used in a raised exception
7
- # 'error_' begins key of text to be added to an error list (usuallly)
7
+ # 'error_' begins key of text to be added to an error list (usually)
8
8
  # 'search_' begins key of text to be used in CQL search comment
9
9
  # 'deny_' begins key of text to be used in denying action due to permissions
10
10
  # (Not all key names begin with a prefix. In the absence of a prefix,
@@ -30,543 +30,379 @@ en:
30
30
  card_date_seconds: '%B %e, %Y %H:%M:%S'
31
31
  card_date_only: '%B %e, %Y'
32
32
 
33
- # sign_in: Sign in
34
- # sign_up: Sign up
35
- # sign_out: Sign out
36
- # invite: Invite
37
- # submit: Submit
38
- # cancel: Cancel
39
- # close: Close
40
- # delete: Delete
41
-
42
33
  lib:
43
- card:
44
- active_record_ext:
45
- exception_not_implemented: "%{func} not implemented"
46
- codename:
47
- exception_unknown_codename: "unknown codename: %{codename}"
48
- error:
49
- exception_for_card: "for card %{cardname}: %{message}"
50
- format:
51
- error:
52
- exception_bad_arg: "bad %{category} argument: %{arg}"
53
- exception_bad_args: "bad %{category} arguments: %{args}"
54
- no_cardname: unknown card
55
- error_rendering: "Error rendering: %{cardname} (%{view} view)"
56
- exception_init_without_card: format initialized without card
57
- query:
58
- attributes:
59
- exception_bad_query: '"%{found_by}" value must be valid Search, but %{name} is a %{type}'
60
- clause:
61
- exception_bad_chars: "CQL contains disallowed characters: %{text}"
62
- interpretation:
63
- exception_invalid_attribute: Invalid attribute %{key}
64
- exception_invalid_args: Invalid query args %{items}
65
- exception_unknown_valtype: "unknown CQL value type: %{klass}"
66
- join:
67
- exception_to_not_join: "%{to} cannot be %{join}"
68
- exception_invalid_option: "invalid %{side} option: %{object}"
69
- sorting:
70
- exception_sort_not_implemented: "sort item: %{item} not yet implemented"
71
- value:
72
- exception_bad_condition_clause: Invalid Condition Clause %{item}
73
- exception_invalid_operator: Invalid Operator %{operator}
74
- set:
75
- format:
76
- exception_alias_fail: cannot find %{optview} view in %{optmod}; failed to alias %{view} in %{self}
77
- setting:
78
- templating: Templating
79
- permission: Permissions
80
- webpage: Webpage
81
- pointer: Pointer
82
- editing_cue: Editing cues
83
- event: Events
84
- other: Other
85
- config: Config
86
- mod:
87
- :core:
88
- set:
89
- all:
90
- codename:
91
- only_admins_codename: only admins can set codename
92
- error_code_in_use: codename %{codename} already in use
93
- # event:
94
- # outside_event_phases: phase method %{method} called outside of event phases
95
- # called_in_stage: "%{item} method %{method} called in stage %{stage}"
96
- # called_on_action: "on: %{xaction} method %{method} called on %{yaction}"
97
- # fetch:
98
- # exception_fetch_arg_skipvirt: "%{func} called with new arguments and %{sv}"
99
- name_events:
100
- error_name_exists: must be unique; '%{name}' already exists.
101
- error_too_long: is too long (255 character maximum; length is %{length})
102
- error_blank_name: can't be blank
103
- error_blank_key: cannot be blank
104
- error_banned_characters: "may not contain any of the following characters: %{banned}"
105
- error_name_tag: "%{name} in use as a tag"
106
- error_wrong_key: wrong key '%{key}' for name %{name}
107
- is_incomplete: is incomplete
108
- name:
109
- search_children: "(%{side}) children of %{parent_name}"
110
- rename:
111
- cannot_change_content: cannot change content while changing name
112
- cannot_change_type: cannot change type while changing name
113
- permissions:
114
- error_no_action_rule: No %{action} rule for %{name}
115
- you_cant: You don't have permission to %{what}
116
- deny_read_only: Currently in read-only mode
117
- deny_verb_name: You don't have permission to %{verb} %{name}
118
- deny_verb_this: You don't have permission to %{verb} this
119
- deny_create: You don't have permission to create %{part_card_name}
120
- deny_read_this: You don't have permission to read this
121
- deny_change_to_type: You don't have permission to change to this type (need create permission)
122
- deny_no_comment_template: No comments allowed on templates
123
- deny_no_comment_structured: No comments allowed on structured content
124
- references:
125
- exception_need_id: id required to delete references
126
- rules:
127
- search_userprefcards: "preference cards for user: %{name}"
128
- stages:
129
- exception_no_override_act: not allowed to override current act
130
- tracked_attributes:
131
- error_unknown_type: "%{type} is not a known type."
132
- trash:
133
- error_system_card: "%{name} is is a system card. (%{codename})"
134
- error_indestructible: "%{name} is an indestructible rule"
135
- error_user_edits: "Edits have been made with %{name}'s user account.\nDeleting this card would mess up our history."
136
- error_cant_delete_child: "can't delete %{child_name}: %{message}"
137
- exception_almost_deleted: Narrowly averted deleting current file
138
- type:
139
- error_cant_change_errors: "of %{name} can't be changed; errors creating new %{type_id}: %{error_messages}"
140
- error_no_such_type: No such type
141
- error_hard_templated: can't be changed because %{name} is hard templated to %{type_name}
142
- utils:
143
- exception_almost_deleted: Narrowly averted deleting current file
144
- type:
145
- cardtype:
146
- cards_exist: Sorry, this card must remain a Cardtype so long as there are %{cardname} cards.
147
- error_cant_alter: can't alter this type; %{name} cards still exist
148
- error_invalid_character_in_cardtype: "may not contain any of the following characters: %{banned}"
149
- set_pattern:
150
- :01_all:
151
- label_set_all_cards: All cards
152
- label_setfollow_all_cards: everything
153
- :02_all_plus:
154
- label_set_plus_cards: All "+" cards
155
- label_setfollow_plus_cards: all "+" cards
156
- :03_type:
157
- label_set_type_cards: All "%{name}" cards
158
- label_setfollow_type_cards: all "%{name}s"
159
- :04_star:
160
- label_set_star_cards: All "*" cards
161
- label_setfollow_star_cards: all "*" cards
162
- :05_rstar:
163
- label_set_rstar_cards: All "+*" cards
164
- label_setfollow_rstar_cards: all "+*" cards
165
- :06_right:
166
- label_set_right_cards: All "+%{name}" cards
167
- label_setfollow_right_cards: all "+%{name}s"
168
- :07_type_plus_right:
169
- label_set_typeplusright_cards: All "+%{right}" cards on "%{type}" cards
170
- label_setfollow_typeplusright_cards: all "+%{right}" on "%{type}s"
171
- :08_self:
172
- label_set_self_card: The card "%{name}"
34
+ # CONFIRMED
35
+ error_rendering: "Error rendering: %{cardname} (%{view} view)"
36
+ exception_for_card: "for card %{cardname}: %{message}"
37
+ exception_init_without_card: format initialized without card
38
+ exception_not_implemented: "%{func} not implemented"
39
+ exception_unknown_codename: "unknown codename: %{codename}"
40
+ no_cardname: unknown card
41
+
42
+ # UNCONFIRMED
43
+
44
+ # J'ACCUSE
45
+ # editing_cue: Editing cues
46
+ # exception_alias_fail: cannot find %{optview} view in %{optmod}; failed to alias %{view} in %{self}
47
+ # exception_bad_arg: "bad %{category} argument: %{arg}"
48
+ # exception_bad_args: "bad %{category} arguments: %{args}"
49
+ # exception_bad_chars: "CQL contains disallowed characters: %{text}"
50
+ # exception_bad_condition_clause: Invalid Condition Clause %{item}
51
+ # exception_bad_query: '"%{found_by}" value must be valid Search, but %{name} is a %{type}'
52
+ # exception_invalid_args: Invalid query args %{items}
53
+ # exception_invalid_attribute: Invalid attribute %{key}
54
+ # exception_invalid_operator: Invalid Operator %{operator}
55
+ # exception_invalid_option: "invalid %{side} option: %{object}"
56
+ # exception_sort_not_implemented: "sort item: %{item} not yet implemented"
57
+ # exception_to_not_join: "%{to} cannot be %{join}"
58
+ # exception_unknown_valtype: "unknown CQL value type: %{klass}"
59
+
60
+ core:
61
+ # CONFIRMED
62
+ cannot_change_content: cannot change content while changing name
63
+ cannot_change_type: cannot change type while changing name
64
+ cards_exist: Sorry, this card must remain a Cardtype so long as there are %{cardname} cards.
65
+ error_banned_characters: "may not contain any of the following characters: %{banned}"
66
+ error_blank_key: cannot be blank
67
+ error_blank_name: can't be blank
68
+ error_cant_alter: can't alter this type; %{name} cards still exist
69
+ error_cant_change_errors: "of %{name} can't be changed; errors creating new %{type_id}: %{error_messages}"
70
+
71
+ # UNCONFIRMED
72
+
73
+ # J'ACCUSE
74
+ # deny_change_to_type: You don't have permission to change to this type (need create permission)
75
+ # deny_create: You don't have permission to create %{part_card_name}
76
+ # deny_no_comment_structured: No comments allowed on structured content
77
+ # deny_no_comment_template: No comments allowed on templates
78
+ # deny_read_only: Currently in read-only mode
79
+ # deny_read_this: You don't have permission to read this
80
+ # deny_verb_name: You don't have permission to %{verb} %{name}
81
+ # deny_verb_this: You don't have permission to %{verb} this
82
+ # error_cant_delete_child: "can't delete %{child_name}: %{message}"
83
+ error_code_in_use: codename %{codename} already in use
84
+ error_hard_templated: can't be changed because %{name} is hard templated to %{type_name}
85
+ error_indestructible: "%{name} is an indestructible rule"
86
+ error_invalid_character_in_cardtype: "may not contain any of the following characters: %{banned}"
87
+ error_name_exists: must be unique; '%{name}' already exists.
88
+ error_name_tag: "%{name} in use as a tag"
89
+ error_no_action_rule: No %{action} rule for %{name}
90
+ error_no_such_type: No such type
91
+ error_system_card: "%{name} is is a system card. (%{codename})"
92
+ error_too_long: is too long (255 character maximum; length is %{length})
93
+ error_unknown_type: "%{type} is not a known type."
94
+ error_user_edits: "Edits have been made with %{name}'s user account.\nDeleting this card would mess up our history."
95
+ error_wrong_key: wrong key '%{key}' for name %{name}
96
+ exception_almost_deleted: Narrowly averted deleting current file
97
+ exception_need_id: id required to delete references
98
+ exception_no_override_act: not allowed to override current act
99
+ is_incomplete: is incomplete
100
+ label_set_all_cards: All cards
101
+ label_set_plus_cards: All "+" cards
102
+ label_set_right_cards: All "+%{name}" cards
103
+ label_set_rstar_cards: All "+*" cards
104
+ label_set_self_card: The card "%{name}"
105
+ label_set_star_cards: All "*" cards
106
+ label_set_type_cards: All "%{name}" cards
107
+ label_set_typeplusright_cards: All "+%{right}" cards on "%{type}" cards
108
+ label_setfollow_all_cards: everything
109
+ label_setfollow_plus_cards: all "+" cards
110
+ label_setfollow_right_cards: all "+%{name}s"
111
+ label_setfollow_rstar_cards: all "+*" cards
112
+ label_setfollow_star_cards: all "*" cards
113
+ label_setfollow_type_cards: all "%{name}s"
114
+ label_setfollow_typeplusright_cards: all "+%{right}" on "%{type}s"
115
+ only_admins_codename: only admins can set codename
116
+ search_children: "(%{side}) children of %{parent_name}"
117
+ search_userprefcards: "preference cards for user: %{name}"
118
+ you_cant: You don't have permission to %{what}
173
119
 
174
- :standard:
175
- set:
176
- rstar:
177
- rules_editor:
178
- not_a_rule: not a rule
179
- applies_to: "<label>Applies to</label> %{card_link}:"
180
- no_current_rule: No Current Rule
181
- cancel: Cancel
182
- delete_revert_rule: Deleting will revert to %{rule_setting_name} rule for %{card_label}
183
- delete: Delete
184
- set: set
185
- related_set: related set
186
- current: current
187
- delete_narrower:
188
- one: This rule will not have any effect on this card unless you delete the narrower rule for %{rules_sentence}.
189
- other: This rule will not have any effect on this card unless you delete the narrower rules for %{rules_sentence}.
190
- submit: Submit
191
- self:
192
- head:
193
- edit_page: Edit this page!
194
- recent:
195
- recent_changes: Recent Changes
196
- search:
197
- results_for: "Search results for: %{keyword}"
198
- search_goto_items: "goto items for term: %{term}"
199
- stats:
200
- stat: Stat
201
- value: Value
202
- action: Action
203
- cards: cards
204
- trashed_cards: trashed cards
205
- delete_all: delete all
206
- actions: actions
207
- delete_old: delete old
208
- references: references
209
- repair_all: repair all
210
- view_cache: view cache
211
- clear_view_cache: clear view cache
212
- memory_now: memory now
213
- clear_cache: clear cache
214
- # memory previous
215
- memory_prev: memory prev
216
- # memory difference
217
- memory_diff: memory diff
218
- megabyte_suffix: M
219
- type:
220
- search_type:
221
- no_limit_exception: OH NO.. no limit
222
- no_content_exception: "Error in card '%{name}': can't run search with empty content"
223
- no_results: no results
224
- previous: Previous
225
- next: Next
226
- set:
227
- cant_edit: Cannot currently edit Sets
228
- rules: Rules
229
- set: Set
230
- field: field
231
- common: common
232
- by_group: by group
233
- by_name: by name
234
- recent: recent
235
- #:bootstrap: #No known language-specfic messages
120
+ standard:
121
+ action: Action
122
+ actions: actions
123
+ applies_to: "<label>Applies to</label> %{card_link}:"
124
+ by_group: by group
125
+ by_name: by name
126
+ cancel: Cancel
127
+ cant_edit: Cannot currently edit Sets
128
+ cards: cards
129
+ clear_cache: clear cache
130
+ clear_view_cache: clear view cache
131
+ common: common
132
+ current: current
133
+ delete: Delete
134
+ delete_all: delete all
135
+ delete_old: delete old
136
+ delete_revert_rule: Deleting will revert to %{rule_setting_name} rule for %{card_label}
137
+ edit_page: Edit this page!
138
+ field: field
139
+ megabyte_suffix: M
140
+ memory_diff: memory diff
141
+ memory_now: memory now
142
+ memory_prev: memory prev
143
+ next: Next
144
+ no_content_exception: "Error in card '%{name}': can't run search with empty content"
145
+ no_current_rule: No Current Rule
146
+ no_limit_exception: OH NO.. no limit
147
+ no_results: no results
148
+ not_a_rule: not a rule
149
+ previous: Previous
150
+ recent: recent
151
+ recent_changes: Recent Changes
152
+ references: references
153
+ related_set: related set
154
+ repair_all: repair all
155
+ results_for: "Search results for: %{keyword}"
156
+ rules: Rules
157
+ search_goto_items: "goto items for term: %{term}"
158
+ set: Set
159
+ stat: Stat
160
+ submit: Submit
161
+ trashed_cards: trashed cards
162
+ value: Value
163
+ view_cache: view cache
236
164
 
237
- :admin:
238
- set:
239
- self:
240
- admin_info:
241
- email_off: Email delivery is turned off. Change settings in %{path} to send sign up notifications.
242
- admin_warn: ADMINISTRATOR WARNING
243
- captcha_temp: Your captcha is currently working with temporary settings. This is fine for a local installation, but you will need new %{recaptcha_link} if you want to make this site public.
244
- captcha_keys: You are configured to use %{captcha_link}, but for that to work you need new %{recaptcha_link}.
245
- recaptcha_keys: recaptcha keys
246
- instructions: Instructions
247
- howto_add_keys: "How to add new recaptcha keys:"
248
- howto_register: Register your domain at %{recaptcha_link}
249
- howto_add: Add your keys to %{recaptcha_settings}
250
- howto_turn_off: 'How to turn captcha off:'
251
- howto_go: Go to %{captcha_card}
252
- howto_update: Update all *captcha rules to "no".
165
+ admin:
166
+ admin_warn: ADMINISTRATOR WARNING
167
+ captcha_keys: You are configured to use %{captcha_link}, but for that to work you need new %{recaptcha_link}.
168
+ captcha_temp: Your captcha is currently working with temporary settings. This is fine for a local installation, but you will need new %{recaptcha_link} if you want to make this site public.
169
+ email_off: Email delivery is turned off. Change settings in %{path} to send sign up notifications.
170
+ howto_add: Add your keys to %{recaptcha_settings}
171
+ howto_add_keys: "How to add new recaptcha keys:"
172
+ howto_go: Go to %{captcha_card}
173
+ howto_register: Register your domain at %{recaptcha_link}
174
+ howto_turn_off: 'How to turn captcha off:'
175
+ howto_update: Update all *captcha rules to "no".
176
+ instructions: Instructions
177
+ recaptcha_keys: recaptcha keys
253
178
 
254
- card-mod-legacy:
255
- set:
256
- abstract:
257
- table_of_contents:
258
- toc: Table of Contents
179
+ card-mod-legacy:
180
+ toc: Table of Contents
259
181
 
260
- card-mod-email:
261
- set:
262
- all:
263
- follow:
264
- emails_stop: stop sending emails about changes to %{cardlabel}
265
- emails_send: send emails about changes to %{cardlabel}
266
- unfollow: unfollow
267
- follow: follow
268
- notify:
269
- follow_included: follow cards included by %{cardname}
270
- followed_card: followed card
271
- follower: follower
272
- new: new
273
- deleted: deleted
274
- update_changes: "\nThis update included the following changes:%{changes}"
275
- right:
276
- follow:
277
- more_options: more options
278
- heading_get_notified: Get notified about changes
279
- following:
280
- no_preference: No following preference
281
- self:
282
- always:
283
- following: Following
284
- follow: follow
285
- created:
286
- following_created: Following content you created
287
- follow_if_created: follow if I created
288
- thing_created: "%{label} I created"
289
- edited:
290
- following_edited: Following content you edited
291
- follow_if_edited: follow if I edited
292
- thing_edited: "%{label} I edited"
293
- follow_defaults:
294
- confirm_update_all_heading: Are you sure you want to change the default follow rules?
295
- confirm_update_all_text: You may choose to update all existing users. This may take a while.
296
- submit_update: Submit and update all users
297
- updating: Updating
298
- submit: Submit
299
- never:
300
- ignoring: Ignoring
301
- ignore: ignore
302
- type_plus_right:
303
- user:
304
- follow:
305
- problems_card: Problems with %{cardname}
306
- sign_in: sign in
307
- please_sign_in: Please %{sign_in}
182
+ card-mod-follow:
183
+ confirm_update_all_heading: Are you sure you want to change the default follow rules?
184
+ confirm_update_all_text: You may choose to update all existing users. This may take a while.
185
+ deleted: deleted
186
+ emails_send: send emails about changes to %{cardlabel}
187
+ emails_stop: stop sending emails about changes to %{cardlabel}
188
+ follow: follow
189
+ follow_if_created: follow if I created
190
+ follow_if_edited: follow if I edited
191
+ follow_included: follow cards included by %{cardname}
192
+ followed_card: followed card
193
+ follower: follower
194
+ following: Following
195
+ following_created: Following content you created
196
+ following_edited: Following content you edited
197
+ heading_get_notified: Get notified about changes
198
+ ignore: ignore
199
+ ignoring: Ignoring
200
+ more_options: more options
201
+ new: new
202
+ no_preference: No following preference
203
+ please_sign_in: Please %{sign_in}
204
+ problems_card: Problems with %{cardname}
205
+ sign_in: sign in
206
+ submit: Submit
207
+ submit_update: Submit and update all users
208
+ thing_created: "%{label} I created"
209
+ thing_edited: "%{label} I edited"
210
+ unfollow: unfollow
211
+ update_changes: "\nThis update included the following changes:%{changes}"
212
+ updating: Updating
308
213
 
309
- card-mod-format:
310
- set:
311
- abstract:
312
- code_file:
313
- exception_not_set_path: "not a set path: %{path}"
314
- content_in_file: Content is stored in file and can't be edited.
315
- type:
316
- cardtype:
317
- cards_exist: Sorry, this card must remain a Cardtype so long as there are %{cardname} cards.
318
- add_card: Add %{cardname}
319
- configure_card: Configure %{cardname}
320
- pointer:
321
- label_select: Select
322
- #description: description
323
- comment_style_group: STYLE GROUP
324
- search_opt_names_ptr: option names for pointer
325
- json:
326
- invalid_json: invalid json
327
- toggle:
328
- # Warning: unless careful, yes/no get converted to true/false
329
- :yes: 'yes'
330
- :no: 'no'
331
- number:
332
- not_numeric: "'%{content}' is not numeric"
333
- all:
334
- base:
335
- too_deep: Man, you're too deep. (Too many levels of nests at a time)
336
- error:
337
- unsupported_view: view (%{view}) not supported for %{cardname}
338
- not_found_named: Could not find %{cardname}.
339
- not_found_no_name: the card requested
340
- server_error: "\nWagn Hitch! Server Error. Yuck, sorry about that.\nTo tell us more and follow the fix,\nadd a support ticket at %{ticket_link}\n"
341
- se_hitch: 'Wagn Hitch :('
342
- se_sorry: Server Error. Yuck, sorry about that.
343
- se_ticket: <a href="%{ticket_link}">Add a support ticket</a> to tell us more and follow the fix.
344
- denial: Permission Denied
345
- bad_address: "404: Bad Address"
346
- too_slow: Timed out! %{showname} took too long to load.
347
- error_rendering: error rendering
348
- error_message: Error message (visible to admin only)
349
- add_thing: Add %{title}
350
- conflict: Conflict!
351
- also_changes: "%{actor_link} has also been making changes."
352
- conflict_instruction: Please examine below, resolve above, and re-submit.
353
- not_found: Not Found
354
- not_found_card: Could not find %{cardname}
214
+ card-mod-format:
215
+ account: account
216
+ action_verb_added: added
217
+ action_verb_deleted: deleted
218
+ action_verb_edited: edited
219
+ add_card: Add %{cardname}
220
+ add_thing: Add %{title}
221
+ also_changes: "%{actor_link} has also been making changes."
222
+ bad_address: "404: Bad Address"
223
+ close: Close
224
+ comment_style_group: STYLE GROUP
225
+ configure_card: Configure %{cardname}
226
+ conflict: Conflict!
227
+ conflict_instruction: Please examine below, resolve above, and re-submit.
228
+ content_in_file: Content is stored in file and can't be edited.
229
+ denial: Permission Denied
230
+ denied_task: to %{denied_task} this
231
+ discuss: discuss
232
+ edit: edit
233
+ error_message: Error message (visible to admin only)
234
+ error_rendering: error rendering
235
+ exception_not_set_path: "not a set path: %{path}"
236
+ invalid_json: invalid json
237
+ label_select: Select
238
+ need_permission_task: "You need permission %{task}."
239
+ no: "no"
240
+ not_found: Not Found
241
+ not_found_card: Could not find %{cardname}
242
+ not_found_named: Could not find %{cardname}.
243
+ not_found_no_name: the card requested
244
+ not_numeric: "'%{content}' is not numeric"
245
+ or: "or"
246
+ page: page
247
+ please: Please
248
+ problems_name: Problems with %{cardname}
249
+ read_only: We are currently in read-only mode. Please try again later.
250
+ rules: rules
251
+ se_hitch: 'Wagn Hitch :('
252
+ se_sorry: Server Error. Yuck, sorry about that.
253
+ se_ticket: <a href="%{ticket_link}">Add a support ticket</a> to tell us more and follow the fix.
254
+ search_opt_names_ptr: option names for pointer
255
+ server_error: "\nWagn Hitch! Server Error. Yuck, sorry about that.\nTo tell us more and follow the fix,\nadd a support ticket at %{ticket_link}\n"
256
+ sign_in: sign in
257
+ sign_up: sign up
258
+ sorry: Sorry!
259
+ to_do_that: to do that
260
+ toggle_no: "no"
261
+ toggle_yes: "yes"
262
+ too_deep: Man, you're too deep. (Too many levels of nests at a time)
263
+ too_slow: Timed out! %{showname} took too long to load.
264
+ unsupported_view: view (%{view}) not supported for %{cardname}
265
+ updated_how_when_who: "%{action_verb} %{elapsed_time_in_words} ago by %{who}"
266
+ yes: "yes"
355
267
 
356
- html_content:
357
- action_verb_added: added
358
- action_verb_deleted: deleted
359
- action_verb_edited: edited
360
- updated_how_when_who: "%{action_verb} %{elapsed_time_in_words} ago by %{who}"
361
- # editing:
362
- # new_type: New %{type_name}
363
- # new: New
364
- # confirm_rename: Are you sure you want to rename %{cardname}?
365
- # alter_related:
366
- # one: automatically alter 1 related name.
367
- # other: automatically alter %{count} related names.
368
- # affect_refs:
369
- # one: affect at least 1 reference to "%{cardname}"
370
- # other: affect at least %{count} references to "%{cardname}"
371
- # update_ignore: You may choose to <em>update or ignore</em> the referers.
372
- # change_will: This change will...
373
- # rename_update: Rename and Update
374
- # renaming: Renaming
375
- # rename: Rename
376
- html_error:
377
- problems_name: Problems with %{cardname}
378
- please: Please
379
- sign_in: sign in
380
- or: or
381
- sign_up: sign up
382
- read_only: We are currently in read-only mode. Please try again later.
383
- sorry: Sorry!
384
- need_permission_task: You need permission %{task}.
385
- to_do_that: to do that
386
- denied_task: to %{denied_task} this
387
- # form:
388
- # unsupported_action_class: "unsupported card_form action class: %{actionclass}"
389
- # submit: Submit
390
- # submitting: Submitting
391
- # cancel: Cancel
392
- menu:
393
- edit: edit
394
- discuss: discuss
395
- page: page
396
- rules: rules
397
- account: account
398
- modal:
399
- close: Close
400
- html_wrapper:
401
- close: Close
402
- format:
403
- html_format:
404
- unknown_layout: "Unknown layout: %{name}"
405
- built_in: "Built-in Layouts: %{built_in_layouts}"
406
- available_layouts: "Available Layouts: %{available_layouts}"
268
+ card-mod-layout:
269
+ available_layouts: "Available Layouts: %{available_layouts}"
270
+ built_in: "Built-in Layouts: %{built_in_layouts}"
271
+ unknown_layout: "Unknown layout: %{name}"
407
272
 
408
- card-mod-edit:
409
- set:
410
- all:
411
- bridge:
412
- tab_views:
413
- account: account
414
- activity: activity
415
- all: all
416
- autosaved_draft: autosaved draft
417
- by_group: by group
418
- by_name: by name
419
- cancel: cancel
420
- card_delete_confirm: Are you sure you want to delete %{cardname}?
421
- card_deleted: "%{cardname} deleted"
422
- children: children
423
- common: common
424
- content: content
425
- created: created
426
- delete: delete
427
- details: details
428
- discuss: discuss
429
- edit: edit
430
- edited: edited
431
- editors: editors
432
- engage: engage
433
- follow: follow
434
- history: history
435
- mates: mates
436
- name: name
437
- nests: nests
438
- pin_pin: pin
439
- pin_unpin: unpin
440
- recent: recent
441
- references_out: references out
442
- references_in: references in
443
- refresh: refresh
444
- roles: roles
445
- rules: rules
446
- structure: structure
447
- type: type
273
+ card-mod-edit:
274
+ account: account
275
+ activity: activity
276
+ all: all
277
+ autosaved_draft: autosaved draft
278
+ by_group: by group
279
+ by_name: by name
280
+ cancel: cancel
281
+ card_delete_confirm: Are you sure you want to delete %{cardname}?
282
+ card_deleted: "%{cardname} deleted"
283
+ children: children
284
+ common: common
285
+ content: content
286
+ created: created
287
+ delete: delete
288
+ details: details
289
+ discuss: discuss
290
+ edit: edit
291
+ edited: edited
292
+ editors: editors
293
+ engage: engage
294
+ follow: follow
295
+ history: history
296
+ mates: mates
297
+ name: name
298
+ nests: nests
299
+ pin_pin: pin
300
+ pin_unpin: unpin
301
+ recent: recent
302
+ references_in: references in
303
+ references_out: references out
304
+ refresh: refresh
305
+ roles: roles
306
+ rules: rules
307
+ structure: structure
308
+ type: type
448
309
 
449
- card-mod-carrierwave:
450
- set:
451
- abstract:
452
- attachment:
453
- error_invalid_storage_type: "%{type} is not a valid file storage option"
454
- url_is_missing: url is missing
455
- is_missing: is missing
456
- storage_type:
457
- mod_argument_needed_to_save: mod argument needed to save card as coded
458
- codename_needed_for_storage: codename needed for storage type coded
459
- unknown_storage_type: unknown storage type %{new_storage_type}
460
- moving_files_is_not_supported: moving files from cloud elsewhere is not supported
461
- type:
462
- file:
463
- file_error: File Error
464
- download: Download %{title}
465
- delete: Delete
466
- add_item: Add %{attachment_name}...
467
- replace_item: Replace %{attachment_name}...
310
+ card-mod-carrierwave:
311
+ add_item: Add %{attachment_name}...
312
+ codename_needed_for_storage: codename needed for storage type coded
313
+ delete: Delete
314
+ download: Download %{title}
315
+ error_invalid_storage_type: "%{type} is not a valid file storage option"
316
+ file_error: File Error
317
+ is_missing: is missing
318
+ mod_argument_needed_to_save: mod argument needed to save card as coded
319
+ moving_files_is_not_supported: moving files from cloud elsewhere is not supported
320
+ replace_item: Replace %{attachment_name}...
321
+ unknown_storage_type: unknown storage type %{new_storage_type}
322
+ url_is_missing: url is missing
468
323
 
324
+ card-mod-bootstrap:
325
+ cannot_source_theme: can't find source for theme %{theme_name}
326
+ not_valid_theme: not a valid theme %{theme_name}
469
327
 
470
- card-mod-bootstrap:
471
- set:
472
- type:
473
- customized_bootswatch_skin:
474
- not_valid_theme: not a valid theme %{theme_name}
475
- cannot_source_theme: can't find source for theme %{theme_name}
328
+ card-mod-history:
329
+ added: Added
330
+ current: Current
331
+ deleted: Deleted
332
+ error_not_latest_revision: changes not based on latest revision
333
+ hide_changes: Hide changes
334
+ save_as_current: Save as current
335
+ show_changes: Show changes
336
+ time_ago: "%{elapsed__time_in_words} ago"
476
337
 
477
- card-mod-history:
478
- set:
479
- all:
480
- content_history:
481
- error_not_latest_revision: changes not based on latest revision
482
- history:
483
- time_ago: "%{elapsed__time_in_words} ago"
484
- current: Current
485
- added: Added
486
- deleted: Deleted
487
- save_as_current: Save as current
488
- show_changes: Show changes
489
- hide_changes: Hide changes
338
+ card-mod-account:
339
+ action_verify_email: "%{action} verification email"
340
+ approve_without: Approve without verification
341
+ cache_db_compare: Cache/DB Comparison
342
+ cache_value: Cache Val
343
+ cached_card: Cached Card Inspect
344
+ check_email: Check your email for a link to reset your password
345
+ check_email_reset: Please check your email for a new password reset link.
346
+ db_card: Database Card Inspect
347
+ db_value: Database Val
348
+ deny_delete: Deny and delete
349
+ deny_email_restricted: viewing email is restricted to administrators and account holders
350
+ deny_not_change_own_account: change the status of your own account
351
+ email_missing: email can't be blank
352
+ email_off: "WARNING: E-Mail-Versand ist deaktiviert. Ändere die Einstellung in %{path} um bei neuen Registrierungen Benachrichtigungen zu senden."
353
+ encrypted: encrypted
354
+ error_blank: can't be blank
355
+ error_incorrect_token: token mismatch
356
+ error_invalid_address: must be valid address
357
+ error_not_active: Sorry, that account is not active.
358
+ error_not_recognized: not recognized
359
+ error_not_unique: must be unique
360
+ error_token_expired: expired token
361
+ error_token_not_found: no token found
362
+ error_unknown_email: Unrecognized email.
363
+ error_wrong_password: Wrong password
364
+ errors_message: Sorry, %{item}. %{message}
365
+ exception_bad_expiration: illegal expiration value (eg '%{example}')
366
+ field: Field
367
+ field_manip_abort: no field manipulation mid-activation
368
+ first_last_help: usually first and last name
369
+ forgot_password: Forgot Password
370
+ get_started: Um loszulegen, erstelle einen Account.
371
+ help_first_last: üblicherweise Vor- und Nachname
372
+ illegal_approval_abort: illegal approval
373
+ invite: Invite
374
+ missing_account: "ERROR: signup card missing account"
375
+ no_account_abort: no account associated with %{name}
376
+ or_sign_up: '...or sign up!'
377
+ password_length: must be at least 4 characters
378
+ password_missing: password can't be blank
379
+ private_data: Private data
380
+ resend: Resend
381
+ reset_my_password: Reset my password
382
+ reset_password: RESET PASSWORD
383
+ search_email_duplicate: email duplicate? (%{content})
384
+ send: Send
385
+ send_invite: Send Invitation
386
+ set_up: Set up
387
+ setting_up: Setting up
388
+ sign_in: Sign in
389
+ sign_in_title: Sign In
390
+ sign_out: Sign out
391
+ sign_up: Sign up
392
+ signed_up_on: "%{name} signed up on %{date}"
393
+ sorry_email_reset: Sorry, %{error_msg}. Please check your email for a new password reset link.
394
+ verification: A verification email has been sent
395
+ verification_to: A verification email has been sent to %{email}
396
+ was_signed_up_on: "%{name} was signed up on %{date}"
397
+ welcome: Welcome, Decker!
490
398
 
491
- card-mod-account:
492
- set:
493
- type:
494
- signup:
495
- views:
496
- sign_up: Sign up
497
- invite: Invite
498
- missing_account: "ERROR: signup card missing account"
499
- send_invite: Send Invitation
500
- first_last_help: usually first and last name
501
- signed_up_on: "%{name} signed up on %{date}"
502
- was_signed_up_on: "%{name} was signed up on %{date}"
503
- send: Send
504
- resend: Resend
505
- verification: A verification email has been sent
506
- verification_to: A verification email has been sent to %{email}
507
- action_verify_email: "%{action} verification email"
508
- approve_without: Approve without verification
509
- deny_delete: Deny and delete
510
- field_manip_abort: no field manipulation mid-activation
511
- no_account_abort: no account associated with %{name}
512
- illegal_approval_abort: illegal approval
513
- check_email_reset: Please check your email for a new password reset link.
514
- errors_message: Sorry, %{item}. %{message}
515
- user:
516
- help_first_last: üblicherweise Vor- und Nachname
517
- welcome: Willkommen, Decker!
518
- get_started: Um loszulegen, erstelle einen Account.
519
- email_off: "WARNING: E-Mail-Versand ist deaktiviert. Ändere die Einstellung in %{path} um bei neuen Registrierungen Benachrichtigungen zu senden."
520
- set_up: Anlegen
521
- setting_up: Lege an
522
- right:
523
- account:
524
- events:
525
- sorry_email_reset: Sorry, %{error_msg}. Please check your email for a new password reset link.
526
- email:
527
- error_invalid_address: must be valid address
528
- search_email_duplicate: email duplicate? (%{content})
529
- error_not_unique: must be unique
530
- deny_email_restricted: viewing email is restricted to administrators and account holders
531
- password:
532
- encrypted: encrypted
533
- password_length: must be at least 4 characters
534
- salt:
535
- private_data: Private data
536
- stats:
537
- field: Field
538
- cache_value: Cache Val
539
- db_value: Database Val
540
- cache_db_compare: Cache/DB Comparison
541
- cached_card: Cached Card Inspect
542
- db_card: Database Card Inspect
543
- status:
544
- deny_not_change_own_account: change the status of your own account
545
- api_key:
546
- private_data: Private data
547
- error_token_not_found: no token found
548
- error_token_expired: expired token
549
- error_incorrect_token: token mismatch
550
- exception_bad_expiration: illegal expiration value (eg '%{example}')
551
- self:
552
- account_links:
553
- sign_up: Sign up
554
- sign_in: Sign in
555
- invite: Invite
556
- sign_out: Sign out
557
- signin:
558
- sign_in_title: Sign In
559
- sign_in: Sign in
560
- or_sign_up: '...or sign up!'
561
- reset_password: RESET PASSWORD
562
- forgot_password: Forgot Password
563
- reset_my_password: Reset my password
564
- check_email: Check your email for a link to reset your password
565
- error_unknown_email: Unrecognized email.
566
- error_not_active: Sorry, that account is not active.
567
- error_blank: can't be blank
568
- error_wrong_password: Wrong password
569
- email_missing: email can't be blank
570
- password_missing: password can't be blank
571
- error_not_active: not active
572
- error_not_recognized: not recognized
399
+ card-mod-rules:
400
+ # CONFIRMED
401
+ config: Config
402
+ event: Events
403
+ other: Other
404
+ permission: Permissions
405
+ pointer: Pointer
406
+ templating: Templating
407
+ webpage: Webpage
408
+ editing: Editing
File without changes
data/lib/card/codename.rb CHANGED
@@ -137,9 +137,8 @@ class Card
137
137
  end
138
138
 
139
139
  def unknown_codename! mark
140
- raise Card::Error::CodenameNotFound, I18n.t(:exception_unknown_codename,
141
- scope: "lib.card.codename",
142
- codename: mark)
140
+ raise Card::Error::CodenameNotFound,
141
+ Cardio.tr(:exception_unknown_codename, codename: mark)
143
142
  end
144
143
 
145
144
  def id_constant codename, id=nil
data/lib/card/error.rb CHANGED
@@ -22,8 +22,7 @@ class Card
22
22
  end
23
23
 
24
24
  def message_from_card
25
- I18n.t :exception_for_card,
26
- scope: %i[lib card error], cardname: card.name, message: card_message_text
25
+ Cardio.tr :exception_for_card, cardname: card.name, message: card_message_text
27
26
  end
28
27
 
29
28
  def backtrace
data/lib/card/format.rb CHANGED
@@ -47,8 +47,7 @@ class Card
47
47
  def require_card_to_initialize!
48
48
  return if @card
49
49
 
50
- msg = I18n.t :exception_init_without_card, scope: "lib.card.format"
51
- raise Card::Error, msg
50
+ raise Card::Error, Cardio.t(:exception_init_without_card)
52
51
  end
53
52
 
54
53
  def include_set_format_modules
@@ -42,7 +42,7 @@ class Card
42
42
  if card&.name.present?
43
43
  safe_name
44
44
  else
45
- I18n.t :no_cardname, scope: %i[lib card format error]
45
+ Cardio.tr :no_cardname
46
46
  end
47
47
  end
48
48
 
@@ -71,8 +71,7 @@ class Card
71
71
  if exception.is_a? Card::Error::UserError
72
72
  exception.message
73
73
  else
74
- tr :error_rendering, scope: %i[lib card format error],
75
- cardname: error_cardname(exception), view: view
74
+ tr :error_rendering, cardname: error_cardname(exception), view: view
76
75
  end
77
76
  end
78
77
  end
@@ -24,8 +24,7 @@ class Card
24
24
  end
25
25
 
26
26
  def not_found_codename_error codename
27
- ::I18n.t :exception_unknown_codename, codename: codename,
28
- scope: "lib.card.codename"
27
+ Cardio.tr :exception_unknown_codename, codename: codename
29
28
  end
30
29
 
31
30
  def new_card cardish
@@ -5,11 +5,10 @@ class Card
5
5
 
6
6
  # return scope for I18n
7
7
  def scope backtrace
8
- parts = path_parts backtrace
8
+ return "lib" unless (parts = path_parts backtrace)
9
9
  index = path_set_index parts
10
10
  mod = mod_from_parts parts, index
11
- set = set_from_parts parts, index
12
- "mod.#{mod}.set.#{set}"
11
+ mod || "lib"
13
12
  end
14
13
 
15
14
  # extract the mod name from the path of a set's tmp file
@@ -27,18 +26,23 @@ class Card
27
26
 
28
27
  def mod_from_parts parts, set_index
29
28
  if tmp_files?
30
- mod_from_tmp_parts parts, set_index
29
+ mod_without_tmp_prefix parts[set_index + 1]
31
30
  else
32
- parts[set_index - 1]
31
+ mod_without_version_suffix parts[set_index - 1]
33
32
  end
34
33
  end
35
34
 
36
- def mod_from_tmp_parts parts, set_index
37
- parts[set_index + 1].gsub(/^[^-]*\-/, "")
35
+ def mod_without_version_suffix mod
36
+ mod.gsub(/-[\d\.]+$/, "")
37
+ end
38
+
39
+ def mod_without_tmp_prefix mod
40
+ mod.gsub(/^[^-]*\-/, "")
38
41
  end
39
42
 
40
43
  def path_parts backtrace
41
- parts = find_set_path(backtrace).split(File::SEPARATOR)
44
+ return unless (path = find_set_path backtrace)
45
+ parts = path.split File::SEPARATOR
42
46
  parts[-1] = parts.last.split(".").first
43
47
  parts
44
48
  end
@@ -76,9 +80,9 @@ class Card
76
80
 
77
81
  def find_set_path backtrace
78
82
  re = %r{(?<!card)/set/}
79
- path = backtrace.find { |line| line =~ re }
80
- raise Error, "couldn't find set path in backtrace: #{backtrace}" unless path
81
- path
83
+ backtrace.find { |line| line =~ re }.tap do |path|
84
+ return nil unless path
85
+ end
82
86
  end
83
87
 
84
88
  # # index of the mod part in the tmp path
@@ -98,8 +102,7 @@ class Card
98
102
 
99
103
  # index of the mod part in the path
100
104
  def path_set_index parts
101
- unless (set_index = parts.index("set")) &&
102
- parts.size >= set_index + 2
105
+ unless (set_index = parts.index("set")) && parts.size >= set_index + 2
103
106
  raise Error, "not a valid set path: #{path}"
104
107
  end
105
108
 
data/lib/card/setting.rb CHANGED
@@ -10,7 +10,7 @@ class Card
10
10
  # accessible in E
11
11
  attr_accessor :codename
12
12
  # accessible in E and M
13
- mattr_accessor :groups, :group_names, :preferences
13
+ mattr_accessor :groups, :preferences
14
14
 
15
15
  SETTING_OPTIONS = %i[
16
16
  restricted_to_type
@@ -41,17 +41,15 @@ class Card
41
41
  end
42
42
  end
43
43
 
44
- self.group_names = {
45
- templating: "Templating",
46
- permission: "Permissions",
47
- webpage: "Webpage",
48
- editing: "Editing",
49
- event: "Events",
50
- other: "Other",
51
- config: "Config"
52
- }
53
-
54
- self.groups = group_names.keys.each_with_object({}) do |key, groups|
44
+ self.groups = %i[
45
+ templating
46
+ permission
47
+ webpage
48
+ editing
49
+ event
50
+ other
51
+ config
52
+ ].each_with_object({}) do |key, groups|
55
53
  groups[key] = []
56
54
  end
57
55
 
data/lib/cardio/utils.rb CHANGED
@@ -1,6 +1,12 @@
1
1
  module Cardio
2
2
  # Utilities that may need to be run even when mods are not loaded.
3
3
  module Utils
4
+ def tr key, args={}
5
+ kaller = args.delete(:caller) || caller
6
+ args[:scope] ||= Card::Set.scope kaller
7
+ ::I18n.t key, args
8
+ end
9
+
4
10
  def seed_test_db
5
11
  system "env RAILS_ENV=test bundle exec rake db:fixtures:load"
6
12
  end
@@ -25,19 +25,16 @@ format :html do
25
25
  end
26
26
 
27
27
  def warning_alert warnings
28
- admin_warn = I18n.t(:admin_warn, scope: "mod.admin.set.self.admin_info")
29
28
  # 'ADMINISTRATOR WARNING'
30
29
  alert :warning, true do
31
- "<h5>#{admin_warn}</h5>" + list_tag(warnings)
30
+ "<h5>#{tr :admin_warn}</h5>" + list_tag(warnings)
32
31
  end
33
32
  end
34
33
 
35
34
  def no_email_delivery_message
36
35
  # "Email delivery is turned off."
37
36
  # "Change settings in config/application.rb to send sign up notifications."
38
- I18n.t(:email_off,
39
- scope: "mod.admin.set.self.admin_info",
40
- path: "config/application.rb")
37
+ tr :email_off, path: "config/application.rb"
41
38
  end
42
39
 
43
40
  def warning_list_with_auto_scope warnings
@@ -1,11 +1,9 @@
1
1
  def tr key, args={}
2
- args[:scope] ||= Card::Set.scope(caller)
3
- ::I18n.t key, args
2
+ Cardio.tr key, args.merge(caller: caller)
4
3
  end
5
4
 
6
5
  format do
7
6
  def tr key, args={}
8
- args[:scope] ||= Card::Set.scope(caller)
9
- ::I18n.t key, args
7
+ Cardio.tr key, args.merge(caller: caller)
10
8
  end
11
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.101.1
4
+ version: 1.101.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-03-02 00:00:00.000000000 Z
13
+ date: 2021-03-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cardname
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.11.1
21
+ version: 0.11.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.11.1
28
+ version: 0.11.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -1213,10 +1213,15 @@ files:
1213
1213
  - tmpsets/set_pattern/106-right.rb
1214
1214
  - tmpsets/set_pattern/107-type_plus_right.rb
1215
1215
  - tmpsets/set_pattern/108-self.rb
1216
- homepage: http://decko.org
1216
+ homepage: https://decko.org
1217
1217
  licenses:
1218
1218
  - GPL-3.0
1219
- metadata: {}
1219
+ metadata:
1220
+ source_code_uri: https://github.com/decko-commons/decko
1221
+ homepage_uri: https://decko.org
1222
+ bug_tracker_uri: https://github.com/decko-commons/decko/issues
1223
+ wiki_uri: https://decko.org
1224
+ documentation_url: http://docs.decko.org/
1220
1225
  post_install_message:
1221
1226
  rdoc_options: []
1222
1227
  require_paths: