hobo 1.1.0.pre0 → 1.1.0.pre2
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/CHANGES.txt +26 -0
- data/Rakefile +2 -2
- data/doctest/model.rdoctest +1 -0
- data/doctest/multi_model_forms.rdoctest +1 -0
- data/doctest/scopes.rdoctest +1 -0
- data/lib/hobo.rb +13 -3
- data/lib/hobo/accessible_associations.rb +5 -1
- data/lib/hobo/lifecycles/lifecycle.rb +23 -32
- data/lib/hobo/model.rb +11 -9
- data/lib/hobo/scopes/automatic_scopes.rb +1 -1
- data/lib/hobo/scopes/named_scope_extensions.rb +1 -1
- data/lib/hobo/user_controller.rb +2 -2
- data/lib/hobo/view_hints.rb +5 -1
- data/taglibs/rapid_core.dryml +1 -2
- data/taglibs/rapid_forms.dryml +16 -5
- data/taglibs/rapid_plus.dryml +11 -2
- data/taglibs/rapid_summary.dryml +1 -1
- metadata +26 -12
data/CHANGES.txt
CHANGED
@@ -14,6 +14,32 @@ likely to cause conflicts, so it is highly recommended that you have
|
|
14
14
|
your code backed up and in a change control system such as git or
|
15
15
|
subversion.
|
16
16
|
|
17
|
+
=== Hobo 1.0.2 ===
|
18
|
+
|
19
|
+
This release is almost identical to 1.0.1 except that it updates the
|
20
|
+
version requirements to exclude Rails3. Hobo does not currently work
|
21
|
+
with Rails3, although we are working on it.
|
22
|
+
|
23
|
+
This release silences some warnings produced when running with Rails
|
24
|
+
2.3.10.
|
25
|
+
|
26
|
+
This release contains preliminary support for Ruby 1.9.2, although you
|
27
|
+
may encounter problems if you use Single Type Inheritance (STI)
|
28
|
+
models.
|
29
|
+
|
30
|
+
A few very minor bug fixes have also been included. See the [github
|
31
|
+
log](https://github.com/tablatom/hobo/compare/v1.0.1...v1.0.2) for
|
32
|
+
more details.
|
33
|
+
|
34
|
+
=== Hobo 1.0.1 ===
|
35
|
+
|
36
|
+
This version contains two speedups: one fix that reduces the number of
|
37
|
+
database accesses by Matt Jones and one that speeds up compilation of
|
38
|
+
DRYML by Petteri Räty.
|
39
|
+
|
40
|
+
This version also contains several bug fixes. See the [github
|
41
|
+
log](http://github.com/tablatom/hobo/tree/v1.0.1) for more details.
|
42
|
+
|
17
43
|
=== Hobo 1.0.0 ===
|
18
44
|
|
19
45
|
Drumm-roll! Trumpets! Fanfare!
|
data/Rakefile
CHANGED
@@ -59,8 +59,8 @@ Jeweler::Tasks.new do |gemspec|
|
|
59
59
|
gemspec.executables = ['hobo']
|
60
60
|
gemspec.default_executable = 'hobo'
|
61
61
|
gemspec.rubyforge_project = "hobo"
|
62
|
-
gemspec.add_dependency("rails", [">= 2.2.2"])
|
63
|
-
gemspec.add_dependency("will_paginate", [">= 2.3.11"])
|
62
|
+
gemspec.add_dependency("rails", [">= 2.2.2", "< 3.0.0"])
|
63
|
+
gemspec.add_dependency("will_paginate", [">= 2.3.11", "~> 2"])
|
64
64
|
gemspec.add_dependency("hobosupport", ["= #{Hobo::VERSION}"])
|
65
65
|
gemspec.add_dependency("hobofields", ["= #{Hobo::VERSION}"])
|
66
66
|
gemspec.add_dependency("dryml", ["= #{Hobo::VERSION}"])
|
data/doctest/model.rdoctest
CHANGED
@@ -34,6 +34,7 @@ Contents
|
|
34
34
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobofields/lib')
|
35
35
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobosupport/lib')
|
36
36
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobo/lib')
|
37
|
+
>> gem 'will_paginate', '~> 2'
|
37
38
|
>> require 'will_paginate'
|
38
39
|
>> require 'will_paginate/finder'
|
39
40
|
>> require 'hobosupport'
|
@@ -31,6 +31,7 @@ Contents
|
|
31
31
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobofields/lib')
|
32
32
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobosupport/lib')
|
33
33
|
>> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobo/lib')
|
34
|
+
>> gem 'will_paginate', '~> 2'
|
34
35
|
>> require 'will_paginate'
|
35
36
|
>> require 'will_paginate/finder'
|
36
37
|
>> require 'hobosupport'
|
data/doctest/scopes.rdoctest
CHANGED
data/lib/hobo.rb
CHANGED
@@ -2,12 +2,18 @@
|
|
2
2
|
require 'hobosupport'
|
3
3
|
require 'hobofields'
|
4
4
|
begin
|
5
|
+
gem 'will_paginate', '~> 2'
|
5
6
|
require 'will_paginate'
|
7
|
+
require 'will_paginate/finder'
|
6
8
|
rescue MissingSourceFile
|
7
9
|
# OK, Hobo won't do pagination then
|
8
10
|
end
|
9
11
|
|
10
|
-
ActiveSupport::Dependencies.
|
12
|
+
if ActiveSupport::Dependencies.respond_to?(:autoload_paths)
|
13
|
+
ActiveSupport::Dependencies.autoload_paths |= [ File.dirname(__FILE__)]
|
14
|
+
else
|
15
|
+
ActiveSupport::Dependencies.load_paths |= [ File.dirname(__FILE__)]
|
16
|
+
end
|
11
17
|
|
12
18
|
# Hobo can be installed in /vendor/hobo, /vendor/plugins/hobo, vendor/plugins/hobo/hobo, etc.
|
13
19
|
::HOBO_ROOT = File.expand_path(File.dirname(__FILE__) + "/..")
|
@@ -16,7 +22,7 @@ class HoboError < RuntimeError; end
|
|
16
22
|
|
17
23
|
module Hobo
|
18
24
|
|
19
|
-
VERSION = "1.1.0.
|
25
|
+
VERSION = "1.1.0.pre2"
|
20
26
|
|
21
27
|
class PermissionDeniedError < RuntimeError; end
|
22
28
|
|
@@ -115,7 +121,11 @@ module Hobo
|
|
115
121
|
|
116
122
|
HoboFields.never_wrap(Hobo::Undefined) if defined? HoboFields
|
117
123
|
|
118
|
-
ActiveSupport::Dependencies.
|
124
|
+
if ActiveSupport::Dependencies.respond_to?(:autoload_paths)
|
125
|
+
ActiveSupport::Dependencies.autoload_paths |= [ "#{RAILS_ROOT}/app/viewhints" ]
|
126
|
+
else
|
127
|
+
ActiveSupport::Dependencies.load_paths |= [ "#{RAILS_ROOT}/app/viewhints" ]
|
128
|
+
end
|
119
129
|
end
|
120
130
|
|
121
131
|
end
|
@@ -9,7 +9,11 @@ module Hobo
|
|
9
9
|
|
10
10
|
array = params_hash_to_array(array_or_hash)
|
11
11
|
array.map! do |record_hash_or_string|
|
12
|
-
|
12
|
+
if association.conditions.nil?
|
13
|
+
finder = association.member_class
|
14
|
+
else
|
15
|
+
finder = association.member_class.scoped :conditions => association.conditions
|
16
|
+
end
|
13
17
|
find_or_create_and_update(owner, association_name, finder, record_hash_or_string) do |id|
|
14
18
|
# The block is required to either locate find an existing record in the collection, or build a new one
|
15
19
|
if id
|
@@ -24,45 +24,36 @@ module Hobo
|
|
24
24
|
|
25
25
|
def self.def_state(name, on_enter)
|
26
26
|
name = name.to_sym
|
27
|
-
|
28
|
-
|
29
|
-
class_eval "def #{name}_state?; state_name == :#{name} end"
|
30
|
-
end
|
27
|
+
class_eval "def #{name}_state?; state_name == :#{name} end"
|
28
|
+
states[name] = Lifecycles::State.new(name, on_enter)
|
31
29
|
end
|
32
30
|
|
33
31
|
|
34
32
|
def self.def_creator(name, on_create, options)
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
end
|
45
|
-
}
|
46
|
-
|
47
|
-
end
|
33
|
+
class_eval %{
|
34
|
+
def self.#{name}(user, attributes=nil)
|
35
|
+
create(:#{name}, user, attributes)
|
36
|
+
end
|
37
|
+
def self.can_#{name}?(user, attributes=nil)
|
38
|
+
can_create?(:#{name}, user)
|
39
|
+
end
|
40
|
+
}
|
41
|
+
Creator.new(self, name.to_s, on_create, options)
|
48
42
|
end
|
49
43
|
|
50
44
|
def self.def_transition(name, start_state, end_states, on_transition, options)
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
}
|
64
|
-
|
65
|
-
end
|
45
|
+
class_eval %{
|
46
|
+
def #{name}!(user, attributes=nil)
|
47
|
+
transition(:#{name}, user, attributes)
|
48
|
+
end
|
49
|
+
def can_#{name}?(user, attributes=nil)
|
50
|
+
can_transition?(:#{name}, user)
|
51
|
+
end
|
52
|
+
def valid_for_#{name}?
|
53
|
+
valid_for_transition?(:#{name})
|
54
|
+
end
|
55
|
+
}
|
56
|
+
Transition.new(self, name.to_s, start_state, end_states, on_transition, options)
|
66
57
|
end
|
67
58
|
|
68
59
|
def self.state_names
|
data/lib/hobo/model.rb
CHANGED
@@ -14,8 +14,6 @@ module Hobo
|
|
14
14
|
|
15
15
|
register_model(base)
|
16
16
|
|
17
|
-
patch_will_paginate
|
18
|
-
|
19
17
|
base.class_eval do
|
20
18
|
inheriting_cattr_reader :default_order
|
21
19
|
alias_method_chain :attributes=, :hobo_type_conversion
|
@@ -42,7 +40,9 @@ module Hobo
|
|
42
40
|
end
|
43
41
|
end
|
44
42
|
end
|
45
|
-
|
43
|
+
|
44
|
+
# https://hobo.lighthouseapp.com/projects/8324/tickets/762-hobo_model-outside-a-full-rails-env-can-lead-to-stack-level-too-deep
|
45
|
+
raise HoboError, "HoboFields.enable has not been called" unless base.respond_to?(:fields)
|
46
46
|
base.fields(false) # force hobofields to load
|
47
47
|
|
48
48
|
included_in_class_callbacks(base)
|
@@ -57,11 +57,11 @@ module Hobo
|
|
57
57
|
|
58
58
|
WillPaginate::Finder::ClassMethods.class_eval do
|
59
59
|
def paginate_with_hobo_metadata(*args, &block)
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
60
|
+
collection = paginate_without_hobo_metadata(*args, &block)
|
61
|
+
collection.member_class = self
|
62
|
+
collection.origin = try.proxy_owner
|
63
|
+
collection.origin_attribute = try.proxy_reflection._?.name
|
64
|
+
collection
|
65
65
|
end
|
66
66
|
alias_method_chain :paginate, :hobo_metadata
|
67
67
|
|
@@ -78,7 +78,7 @@ module Hobo
|
|
78
78
|
|
79
79
|
|
80
80
|
def self.all_models
|
81
|
-
# Load every
|
81
|
+
# Load every model in app/models...
|
82
82
|
unless @models_loaded
|
83
83
|
Dir.entries("#{RAILS_ROOT}/app/models/").each do |f|
|
84
84
|
f =~ /^[a-zA-Z_][a-zA-Z0-9_]*\.rb$/ and f.sub(/.rb$/, '').camelize.constantize
|
@@ -132,6 +132,8 @@ module Hobo
|
|
132
132
|
|
133
133
|
Hobo::Permissions.enable
|
134
134
|
end
|
135
|
+
|
136
|
+
patch_will_paginate
|
135
137
|
end
|
136
138
|
|
137
139
|
|
@@ -268,7 +268,7 @@ module Hobo
|
|
268
268
|
type = klass.attr_type(field)
|
269
269
|
if type.nil? #a virtual attribute from an SQL alias, e.g., 'total' from 'COUNT(*) AS total'
|
270
270
|
colspec = "#{field}" # don't prepend the table name
|
271
|
-
elsif type.respond_to?(:
|
271
|
+
elsif type.respond_to?(:name_attribute) && (name = type.name_attribute)
|
272
272
|
include = field
|
273
273
|
colspec = "#{type.table_name}.#{name}"
|
274
274
|
else
|
data/lib/hobo/user_controller.rb
CHANGED
@@ -13,8 +13,8 @@ module Hobo
|
|
13
13
|
end
|
14
14
|
|
15
15
|
filter_parameter_logging "password"
|
16
|
-
skip_before_filter :login_required, :only => [:login, :signup, :
|
17
|
-
:accept_invitation, :do_accept_invitation]
|
16
|
+
skip_before_filter :login_required, :only => [:login, :signup, :do_signup, :forgot_password, :reset_password,
|
17
|
+
:do_reset_password, :accept_invitation, :do_accept_invitation]
|
18
18
|
|
19
19
|
include_taglib "rapid_user_pages", :plugin => "hobo"
|
20
20
|
|
data/lib/hobo/view_hints.rb
CHANGED
@@ -3,7 +3,11 @@ module Hobo
|
|
3
3
|
class ViewHints
|
4
4
|
|
5
5
|
def self.enable
|
6
|
-
ActiveSupport::Dependencies.
|
6
|
+
if ActiveSupport::Dependencies.respond_to?(:autoload_paths)
|
7
|
+
ActiveSupport::Dependencies.autoload_paths |= [ "#{RAILS_ROOT}/app/viewhints" ]
|
8
|
+
else
|
9
|
+
ActiveSupport::Dependencies.load_paths |= [ "#{RAILS_ROOT}/app/viewhints" ]
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
def self.setter(name, default=nil, &block)
|
data/taglibs/rapid_core.dryml
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
<!-- Core Rapid tags and tags that don't belong anywhere else. -->
|
2
1
|
|
3
2
|
<!-- Renders a table with one row per field, where each row contains a `<th>` with the field name, and a `<td>` with (by default)
|
4
3
|
a `<view>` of the field.
|
@@ -415,7 +414,7 @@ Assuming the context is a blog post...
|
|
415
414
|
<view:created_at no-wrapper/> -> June 09, 2008 15:36
|
416
415
|
-->
|
417
416
|
<def tag="view" attrs="inline, block, if-blank, no-wrapper, truncate"><%=
|
418
|
-
raise
|
417
|
+
raise Hobo::PermissionDeniedError, "view of non-viewable field '#{this_field}' of #{this_parent.typed_id rescue this_parent}" unless
|
419
418
|
can_view?
|
420
419
|
|
421
420
|
res = if this.nil? && if_blank.nil?
|
data/taglibs/rapid_forms.dryml
CHANGED
@@ -102,8 +102,6 @@ AJAX based submission can be enabled by simply adding an `update` attribute. e.g
|
|
102
102
|
<div part="comments"><collection:comments/></div>
|
103
103
|
<form with="&Comment.new" update="comments"/>
|
104
104
|
|
105
|
-
`<form>` support all of the standard ajax attributes.
|
106
|
-
|
107
105
|
### Additional Notes
|
108
106
|
|
109
107
|
- Hobo automatically inserts an `auth_token` hidden field if forgery protection is enabled
|
@@ -112,6 +110,19 @@ AJAX based submission can be enabled by simply adding an `update` attribute. e.g
|
|
112
110
|
validation error occurs.
|
113
111
|
|
114
112
|
- `<form>` supports all of the standrd ajax attributes - (see the main taglib docs for Rapid Forms)
|
113
|
+
|
114
|
+
- `<form>` resets `last_if` if it does not have permission to display the form. The `<else>` clause may be used to display alternate content. For example:
|
115
|
+
|
116
|
+
<form>...</form>
|
117
|
+
<else>You do not have permission to edit this form</else>
|
118
|
+
|
119
|
+
or on a standard generated page using a default form:
|
120
|
+
|
121
|
+
<some-page>
|
122
|
+
<after-form:>
|
123
|
+
<else>You do not have permission to edit this form</else>
|
124
|
+
</after-form:>
|
125
|
+
</some-page>
|
115
126
|
|
116
127
|
### Attributes
|
117
128
|
|
@@ -640,7 +651,7 @@ For situations where there are too many target records to practically include in
|
|
640
651
|
|
641
652
|
-->
|
642
653
|
<def tag="select-one" attrs="include-none, blank-message, options, sort, limit, text-method"><%
|
643
|
-
raise
|
654
|
+
raise Hobo::PermissionDeniedError.new("Not allowed to edit #{this_field}") if !attributes[:disabled] && !can_edit?
|
644
655
|
|
645
656
|
blank_message ||= ht("#{this_type.name.underscore}.message.no", :default=>"(No #{this_type.view_hints.model_name})")
|
646
657
|
limit ||= 100
|
@@ -1008,8 +1019,8 @@ end
|
|
1008
1019
|
<input type="hidden" class="empty-input" id="#{underize param_name_for_this}" name="#{param_name_for_this}" value="" disabled="&(!this.empty? || minimum>0)" />
|
1009
1020
|
<fake-field-context fake-field="-1" context="&template">
|
1010
1021
|
<div param="empty-message">
|
1011
|
-
<ht key="#{this.class.
|
1012
|
-
No <%= this.class.
|
1022
|
+
<ht key="#{this.class.name.tableize}.collection.empty_message">
|
1023
|
+
No <%= this.class.name.titleize.downcase.pluralize %>.
|
1013
1024
|
</ht>
|
1014
1025
|
</div>
|
1015
1026
|
<div class="buttons">
|
data/taglibs/rapid_plus.dryml
CHANGED
@@ -21,6 +21,15 @@ An [worked example](/tutorials/agility#improve_the_project_page_with_a_searchabl
|
|
21
21
|
</form>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
|
+
<%
|
25
|
+
page_path = if (request.post? || request.put?) && params[:page_path]
|
26
|
+
params[:page_path]
|
27
|
+
else
|
28
|
+
view_name.sub(Dryml::EMPTY_PAGE, params[:action] || '')
|
29
|
+
end
|
30
|
+
controller, action = page_path.split('/')
|
31
|
+
%>
|
32
|
+
|
24
33
|
|
25
34
|
<table merge-attrs="&attributes & (attrs_for(:table) + attrs_for(:with_fields))" empty merge-params>
|
26
35
|
<field-heading-row:>
|
@@ -28,7 +37,7 @@ An [worked example](/tutorials/agility#improve_the_project_page_with_a_searchabl
|
|
28
37
|
<% col = sort_columns[scope.field_path] || scope.field_path
|
29
38
|
sort = sort_field == col && sort_direction == 'asc' ?
|
30
39
|
"-#{col}" : col
|
31
|
-
sort_url = url_for(params.merge(:sort => sort) - [:page])
|
40
|
+
sort_url = url_for(params.merge(:sort => sort, :controller => controller, :action => action) - [:page])
|
32
41
|
col_heading_name = this.member_class.try.view_hints.try.field_name(scope.field_name) || scope.field_name.titleize %>
|
33
42
|
|
34
43
|
<th param="#{scope.field-name}-heading">
|
@@ -46,7 +55,7 @@ An [worked example](/tutorials/agility#improve_the_project_page_with_a_searchabl
|
|
46
55
|
<do param="empty-message" if="empty?"><ht key="hobo.table_plus.empty" model="#{name.downcase}">No <collection-name lowercase/> to display</ht></do>
|
47
56
|
|
48
57
|
|
49
|
-
<page-nav param if="&this.respond_to?(:page_count) || this.respond_to?(:total_pages)"/>
|
58
|
+
<page-nav param params="&{:action=>action, :controller=>controller}" if="&this.respond_to?(:page_count) || this.respond_to?(:total_pages)"/>
|
50
59
|
</div>
|
51
60
|
</def>
|
52
61
|
|
data/taglibs/rapid_summary.dryml
CHANGED
@@ -281,7 +281,7 @@
|
|
281
281
|
<!-- given a column in the context and the model as an attribute, returns the comment for the column. It returns the SQL comment if that is available (using the activerecord-comments plugin). If that is not available, it returns the HoboFields comment. -->
|
282
282
|
|
283
283
|
<def tag="model-column-comment" attrs="model">
|
284
|
-
<%= this.try.comment || model.try.field_specs.try.get(this.name).try.comment -%>
|
284
|
+
<%= this.try.comment || model.try.field_specs.try.get(this.name).try.first.try.comment -%>
|
285
285
|
</def>
|
286
286
|
|
287
287
|
<!-- given a model, repeats on the associations -->
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
4
|
+
hash: -1876988167
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 1.1.0.
|
10
|
+
- pre2
|
11
|
+
version: 1.1.0.pre2
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Tom Locke
|
@@ -33,6 +33,14 @@ dependencies:
|
|
33
33
|
- 2
|
34
34
|
- 2
|
35
35
|
version: 2.2.2
|
36
|
+
- - <
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
hash: 7
|
39
|
+
segments:
|
40
|
+
- 3
|
41
|
+
- 0
|
42
|
+
- 0
|
43
|
+
version: 3.0.0
|
36
44
|
type: :runtime
|
37
45
|
version_requirements: *id001
|
38
46
|
- !ruby/object:Gem::Dependency
|
@@ -49,6 +57,12 @@ dependencies:
|
|
49
57
|
- 3
|
50
58
|
- 11
|
51
59
|
version: 2.3.11
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 7
|
63
|
+
segments:
|
64
|
+
- 2
|
65
|
+
version: "2"
|
52
66
|
type: :runtime
|
53
67
|
version_requirements: *id002
|
54
68
|
- !ruby/object:Gem::Dependency
|
@@ -59,13 +73,13 @@ dependencies:
|
|
59
73
|
requirements:
|
60
74
|
- - "="
|
61
75
|
- !ruby/object:Gem::Version
|
62
|
-
hash: -
|
76
|
+
hash: -1876988167
|
63
77
|
segments:
|
64
78
|
- 1
|
65
79
|
- 1
|
66
80
|
- 0
|
67
|
-
-
|
68
|
-
version: 1.1.0.
|
81
|
+
- pre2
|
82
|
+
version: 1.1.0.pre2
|
69
83
|
type: :runtime
|
70
84
|
version_requirements: *id003
|
71
85
|
- !ruby/object:Gem::Dependency
|
@@ -76,13 +90,13 @@ dependencies:
|
|
76
90
|
requirements:
|
77
91
|
- - "="
|
78
92
|
- !ruby/object:Gem::Version
|
79
|
-
hash: -
|
93
|
+
hash: -1876988167
|
80
94
|
segments:
|
81
95
|
- 1
|
82
96
|
- 1
|
83
97
|
- 0
|
84
|
-
-
|
85
|
-
version: 1.1.0.
|
98
|
+
- pre2
|
99
|
+
version: 1.1.0.pre2
|
86
100
|
type: :runtime
|
87
101
|
version_requirements: *id004
|
88
102
|
- !ruby/object:Gem::Dependency
|
@@ -93,13 +107,13 @@ dependencies:
|
|
93
107
|
requirements:
|
94
108
|
- - "="
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
hash: -
|
110
|
+
hash: -1876988167
|
97
111
|
segments:
|
98
112
|
- 1
|
99
113
|
- 1
|
100
114
|
- 0
|
101
|
-
-
|
102
|
-
version: 1.1.0.
|
115
|
+
- pre2
|
116
|
+
version: 1.1.0.pre2
|
103
117
|
type: :runtime
|
104
118
|
version_requirements: *id005
|
105
119
|
description:
|