spiderfw 0.6.8 → 0.6.9
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/CHANGELOG +5 -0
 - data/VERSION +1 -1
 - data/apps/core/auth/models/mixins/rbac_provider.rb +2 -2
 - data/apps/core/components/widgets/admin/admin.rb +0 -1
 - data/apps/master/models/server.rb +1 -1
 - data/lib/spiderfw/config/configuration_editor.rb +1 -1
 - data/lib/spiderfw/controller/http_controller.rb +4 -0
 - data/lib/spiderfw/controller/mixins/http_mixin.rb +1 -1
 - data/lib/spiderfw/controller/mixins/visual.rb +7 -5
 - data/lib/spiderfw/create.rb +5 -5
 - data/lib/spiderfw/i18n/gettext.rb +23 -7
 - data/lib/spiderfw/model/base_model.rb +25 -4
 - data/lib/spiderfw/model/element.rb +11 -1
 - data/lib/spiderfw/model/inline_model.rb +5 -3
 - data/lib/spiderfw/model/integrated_element.rb +3 -1
 - data/lib/spiderfw/setup/app_manager.rb +25 -22
 - data/lib/spiderfw/spider.rb +5 -6
 - data/lib/spiderfw/widget/widget.rb +42 -28
 - data/spider.gemspec +1 -1
 - metadata +10 -10
 
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.6. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.6.9
         
     | 
| 
         @@ -89,8 +89,8 @@ module Spider; module Auth 
     | 
|
| 
       89 
89 
     | 
    
         
             
                                                    model_name = parts[i..-2].join('_')+'_'
         
     | 
| 
       90 
90 
     | 
    
         
             
                                                    self_name = self_parts[i..-2].join('_')+'_'
         
     | 
| 
       91 
91 
     | 
    
         
             
                                                end
         
     | 
| 
       92 
     | 
    
         
            -
                                                model_name += model. 
     | 
| 
       93 
     | 
    
         
            -
                                                self_name += self. 
     | 
| 
      
 92 
     | 
    
         
            +
                                                model_name += model.label_plural_
         
     | 
| 
      
 93 
     | 
    
         
            +
                                                self_name += self.label_plural_
         
     | 
| 
       94 
94 
     | 
    
         
             
                                                model_name.downcase!
         
     | 
| 
       95 
95 
     | 
    
         
             
                                                self_name.downcase!
         
     | 
| 
       96 
96 
     | 
    
         
             
                                                break
         
     | 
| 
         @@ -44,7 +44,6 @@ module Spider; module Components 
     | 
|
| 
       44 
44 
     | 
    
         
             
                                crud.table_widget = @custom_widgets[model][:table] if @custom_widgets[model][:table]
         
     | 
| 
       45 
45 
     | 
    
         
             
                                crud.form_widget = @custom_widgets[model][:form] if @custom_widgets[model][:form]
         
     | 
| 
       46 
46 
     | 
    
         
             
                            end
         
     | 
| 
       47 
     | 
    
         
            -
                            
         
     | 
| 
       48 
47 
     | 
    
         
             
                            @widgets[:switcher].add(model.label_plural, crud, _('Manage Data'))
         
     | 
| 
       49 
48 
     | 
    
         
             
                        end
         
     | 
| 
       50 
49 
     | 
    
         
             
                        if (@request.respond_to?(:user) && @request.user)
         
     | 
| 
         @@ -13,7 +13,7 @@ module Spider; module Master 
     | 
|
| 
       13 
13 
     | 
    
         
             
                    many :commands, Master::Command, :add_reverse => :server
         
     | 
| 
       14 
14 
     | 
    
         
             
                    element_query :pending_commands, :commands, :condition => Spider::Model::Condition.new{ |c| c.status == 'pending' }
         
     | 
| 
       15 
15 
     | 
    
         
             
                    many :resources, Master::Resource, :delete_cascade => true
         
     | 
| 
       16 
     | 
    
         
            -
                    choice :customer, Master::Customer, :add_multiple_reverse => : 
     | 
| 
      
 16 
     | 
    
         
            +
                    choice :customer, Master::Customer, :add_multiple_reverse => :servers
         
     | 
| 
       17 
17 
     | 
    
         
             
                    element :scout_plan_changed, DateTime, :hidden => true
         
     | 
| 
       18 
18 
     | 
    
         
             
                    multiple_choice :admins, Master::Admin, :add_multiple_reverse => :server do
         
     | 
| 
       19 
19 
     | 
    
         
             
                        element :receive_notifications, Bool, :default => true
         
     | 
| 
         @@ -90,6 +90,10 @@ module Spider 
     | 
|
| 
       90 
90 
     | 
    
         
             
                        Locale.init(:driver => :cgi)
         
     | 
| 
       91 
91 
     | 
    
         
             
                        Locale.set_request(@request.params['lang'], @request.cookies['lang'], @request.env['HTTP_ACCEPT_LANGUAGE'], @request.env['HTTP_ACCEPT_CHARSET'])
         
     | 
| 
       92 
92 
     | 
    
         
             
                        @request.locale = Locale.current[0]
         
     | 
| 
      
 93 
     | 
    
         
            +
                        l = @request.locale.to_s
         
     | 
| 
      
 94 
     | 
    
         
            +
                        l = $1 if l =~ /(\w\w)_+/
         
     | 
| 
      
 95 
     | 
    
         
            +
                        FastGettext.locale = l
         
     | 
| 
      
 96 
     | 
    
         
            +
                        FastGettext.text_domain = 'spider'
         
     | 
| 
       93 
97 
     | 
    
         
             
                        if (action =~ /(.+)\.(\w+)$/) # strip extension, set format
         
     | 
| 
       94 
98 
     | 
    
         
             
                            action = $1
         
     | 
| 
       95 
99 
     | 
    
         
             
                            @request.format = $2.to_sym
         
     | 
| 
         @@ -210,11 +210,13 @@ module Spider; module ControllerMixins 
     | 
|
| 
       210 
210 
     | 
    
         
             
                        end
         
     | 
| 
       211 
211 
     | 
    
         
             
                        init_widgets(template, layout)
         
     | 
| 
       212 
212 
     | 
    
         
             
                        return template if done?
         
     | 
| 
       213 
     | 
    
         
            -
                         
     | 
| 
       214 
     | 
    
         
            -
                            layout 
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
       216 
     | 
    
         
            -
                             
     | 
| 
       217 
     | 
    
         
            -
             
     | 
| 
      
 213 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 214 
     | 
    
         
            +
                            if layout
         
     | 
| 
      
 215 
     | 
    
         
            +
                                layout.render(scene)
         
     | 
| 
      
 216 
     | 
    
         
            +
                            else
         
     | 
| 
      
 217 
     | 
    
         
            +
                                template.render(scene)
         
     | 
| 
      
 218 
     | 
    
         
            +
                            end
         
     | 
| 
      
 219 
     | 
    
         
            +
                        }
         
     | 
| 
       218 
220 
     | 
    
         
             
                        return template
         
     | 
| 
       219 
221 
     | 
    
         
             
                    end
         
     | 
| 
       220 
222 
     | 
    
         | 
    
        data/lib/spiderfw/create.rb
    CHANGED
    
    | 
         @@ -34,21 +34,21 @@ module Spider 
     | 
|
| 
       34 
34 
     | 
    
         
             
                        create(source_path, dest_path)
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                        begin
         
     | 
| 
       37 
     | 
    
         
            -
                            require ' 
     | 
| 
      
 37 
     | 
    
         
            +
                            require 'git'
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                            cwd = Dir.getwd
         
     | 
| 
       40 
40 
     | 
    
         
             
                            Dir.chdir(dest_path)
         
     | 
| 
       41 
41 
     | 
    
         
             
                            begin
         
     | 
| 
       42 
     | 
    
         
            -
                                repo =  
     | 
| 
       43 
     | 
    
         
            -
                                repo.add('apps', 'config', 'init.rb', 'public')
         
     | 
| 
      
 42 
     | 
    
         
            +
                                repo = Git.init(dest_path)
         
     | 
| 
      
 43 
     | 
    
         
            +
                                repo.add(['apps', 'config', 'init.rb', 'public'])
         
     | 
| 
       44 
44 
     | 
    
         
             
                                repo.add('.gitignore')
         
     | 
| 
       45 
     | 
    
         
            -
                                repo. 
     | 
| 
      
 45 
     | 
    
         
            +
                                repo.commit(_("Created repository"))
         
     | 
| 
       46 
46 
     | 
    
         
             
                            rescue => exc
         
     | 
| 
       47 
47 
     | 
    
         
             
                                puts "Unable to init Git repo, please init manually"
         
     | 
| 
       48 
48 
     | 
    
         
             
                            end
         
     | 
| 
       49 
49 
     | 
    
         
             
                            Dir.chdir(cwd)
         
     | 
| 
       50 
50 
     | 
    
         
             
                        rescue LoadError
         
     | 
| 
       51 
     | 
    
         
            -
                            puts " 
     | 
| 
      
 51 
     | 
    
         
            +
                            puts "git gem not installed, cannot init repo"
         
     | 
| 
       52 
52 
     | 
    
         
             
                        end
         
     | 
| 
       53 
53 
     | 
    
         
             
                    end
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
         @@ -1,8 +1,24 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            require 'fast_gettext'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'locale'
         
     | 
| 
      
 3 
     | 
    
         
            +
            include FastGettext::Translation
         
     | 
| 
      
 4 
     | 
    
         
            +
            FastGettext.add_text_domain('spider', :path => File.join($SPIDER_PATH, 'data', 'locale'))
         
     | 
| 
      
 5 
     | 
    
         
            +
            FastGettext.text_domain = 'spider'
         
     | 
| 
      
 6 
     | 
    
         
            +
            l = Locale.current[0].to_s
         
     | 
| 
      
 7 
     | 
    
         
            +
            l = $1 if l =~ /(\w\w)_+/
         
     | 
| 
      
 8 
     | 
    
         
            +
            FastGettext.locale = l
         
     | 
| 
       4 
9 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            module Spider
         
     | 
| 
      
 11 
     | 
    
         
            +
                
         
     | 
| 
      
 12 
     | 
    
         
            +
                module GetText
         
     | 
| 
      
 13 
     | 
    
         
            +
                    
         
     | 
| 
      
 14 
     | 
    
         
            +
                    def self.in_domain(domain, &block)
         
     | 
| 
      
 15 
     | 
    
         
            +
                        prev_text_domain = FastGettext.text_domain
         
     | 
| 
      
 16 
     | 
    
         
            +
                        FastGettext.text_domain = domain if FastGettext.translation_repositories.key?(domain)
         
     | 
| 
      
 17 
     | 
    
         
            +
                        v = yield
         
     | 
| 
      
 18 
     | 
    
         
            +
                        FastGettext.text_domain = prev_text_domain
         
     | 
| 
      
 19 
     | 
    
         
            +
                        v
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
                    
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -99,7 +99,11 @@ module Spider; module Model 
     | 
|
| 
       99 
99 
     | 
    
         
             
                        @subclasses ||= []
         
     | 
| 
       100 
100 
     | 
    
         
             
                        @subclasses << subclass
         
     | 
| 
       101 
101 
     | 
    
         
             
                        each_element do |el|
         
     | 
| 
       102 
     | 
    
         
            -
                             
     | 
| 
      
 102 
     | 
    
         
            +
                            unless el.attributes[:local_pk]
         
     | 
| 
      
 103 
     | 
    
         
            +
                                cl_el = el.clone
         
     | 
| 
      
 104 
     | 
    
         
            +
                                cl_el.definer_model = el.definer_model
         
     | 
| 
      
 105 
     | 
    
         
            +
                                subclass.add_element(cl_el) 
         
     | 
| 
      
 106 
     | 
    
         
            +
                            end
         
     | 
| 
       103 
107 
     | 
    
         
             
                        end
         
     | 
| 
       104 
108 
     | 
    
         
             
                        subclass.instance_variable_set("@mapper_modules", @mapper_modules.clone) if @mapper_modules
         
     | 
| 
       105 
109 
     | 
    
         
             
                        subclass.instance_variable_set("@extended_models", @extended_models.clone) if @extended_models
         
     | 
| 
         @@ -116,7 +120,7 @@ module Spider; module Model 
     | 
|
| 
       116 
120 
     | 
    
         
             
                    def self.app
         
     | 
| 
       117 
121 
     | 
    
         
             
                        return @app if @app
         
     | 
| 
       118 
122 
     | 
    
         
             
                        app = self
         
     | 
| 
       119 
     | 
    
         
            -
                        while  
     | 
| 
      
 123 
     | 
    
         
            +
                        while !app.include?(Spider::App)
         
     | 
| 
       120 
124 
     | 
    
         
             
                            app = app.parent_module
         
     | 
| 
       121 
125 
     | 
    
         
             
                        end
         
     | 
| 
       122 
126 
     | 
    
         
             
                        @app = app
         
     | 
| 
         @@ -527,6 +531,7 @@ module Spider; module Model 
     | 
|
| 
       527 
531 
     | 
    
         
             
                    def self.add_element(el)
         
     | 
| 
       528 
532 
     | 
    
         
             
                        @elements ||= {}
         
     | 
| 
       529 
533 
     | 
    
         
             
                        @elements[el.name] = el
         
     | 
| 
      
 534 
     | 
    
         
            +
                        el.definer_model ||= self
         
     | 
| 
       530 
535 
     | 
    
         
             
                        @elements_order ||= []
         
     | 
| 
       531 
536 
     | 
    
         
             
                        if (el.attributes[:element_position])
         
     | 
| 
       532 
537 
     | 
    
         
             
                            @elements_order.insert(el.attributes[:element_position], el.name)
         
     | 
| 
         @@ -880,13 +885,29 @@ module Spider; module Model 
     | 
|
| 
       880 
885 
     | 
    
         
             
                    def self.label(sing=nil, plur=nil)
         
     | 
| 
       881 
886 
     | 
    
         
             
                        @label = sing if sing
         
     | 
| 
       882 
887 
     | 
    
         
             
                        @label_plural = plur if plur
         
     | 
| 
       883 
     | 
    
         
            -
                         
     | 
| 
      
 888 
     | 
    
         
            +
                        unless sing
         
     | 
| 
      
 889 
     | 
    
         
            +
                            Spider::GetText.in_domain(self.app.short_name){
         
     | 
| 
      
 890 
     | 
    
         
            +
                                _(@label || self.name || '')
         
     | 
| 
      
 891 
     | 
    
         
            +
                            }
         
     | 
| 
      
 892 
     | 
    
         
            +
                        end
         
     | 
| 
       884 
893 
     | 
    
         
             
                    end
         
     | 
| 
       885 
894 
     | 
    
         | 
| 
       886 
895 
     | 
    
         
             
                    # Sets/retrieves the plural form for the label
         
     | 
| 
       887 
896 
     | 
    
         
             
                    def self.label_plural(val=nil)
         
     | 
| 
       888 
897 
     | 
    
         
             
                        @label_plural = val if (val)
         
     | 
| 
       889 
     | 
    
         
            -
                         
     | 
| 
      
 898 
     | 
    
         
            +
                        unless val
         
     | 
| 
      
 899 
     | 
    
         
            +
                            Spider::GetText.in_domain(self.app.short_name){
         
     | 
| 
      
 900 
     | 
    
         
            +
                                _(@label_plural || self.name || '')
         
     | 
| 
      
 901 
     | 
    
         
            +
                            }
         
     | 
| 
      
 902 
     | 
    
         
            +
                        end
         
     | 
| 
      
 903 
     | 
    
         
            +
                    end
         
     | 
| 
      
 904 
     | 
    
         
            +
                    
         
     | 
| 
      
 905 
     | 
    
         
            +
                    def self.label_
         
     | 
| 
      
 906 
     | 
    
         
            +
                        @label
         
     | 
| 
      
 907 
     | 
    
         
            +
                    end
         
     | 
| 
      
 908 
     | 
    
         
            +
                    
         
     | 
| 
      
 909 
     | 
    
         
            +
                    def self.label_plural_
         
     | 
| 
      
 910 
     | 
    
         
            +
                        @label_plural
         
     | 
| 
       890 
911 
     | 
    
         
             
                    end
         
     | 
| 
       891 
912 
     | 
    
         | 
| 
       892 
913 
     | 
    
         
             
                    def self.auto_primary_keys?
         
     | 
| 
         @@ -7,6 +7,7 @@ module Spider; module Model 
     | 
|
| 
       7 
7 
     | 
    
         
             
                class Element
         
     | 
| 
       8 
8 
     | 
    
         
             
                    attr_reader :name
         
     | 
| 
       9 
9 
     | 
    
         
             
                    attr_accessor :attributes
         
     | 
| 
      
 10 
     | 
    
         
            +
                    attr_accessor :definer_model
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
12 
     | 
    
         
             
                    def initialize(name, type, attributes={})
         
     | 
| 
       12 
13 
     | 
    
         
             
                        @name = name
         
     | 
| 
         @@ -145,7 +146,16 @@ module Spider; module Model 
     | 
|
| 
       145 
146 
     | 
    
         | 
| 
       146 
147 
     | 
    
         
             
                    # Label. Will use the :label attribute, or return the name split by '_' with each word capitalized.
         
     | 
| 
       147 
148 
     | 
    
         
             
                    def label
         
     | 
| 
       148 
     | 
    
         
            -
                         
     | 
| 
      
 149 
     | 
    
         
            +
                        prev_text_domain = nil
         
     | 
| 
      
 150 
     | 
    
         
            +
                        if @definer_model && @definer_model != Spider::Model::Managed
         
     | 
| 
      
 151 
     | 
    
         
            +
                            prev_text_domain = FastGettext.text_domain
         
     | 
| 
      
 152 
     | 
    
         
            +
                            FastGettext.text_domain = @definer_model.app.short_name
         
     | 
| 
      
 153 
     | 
    
         
            +
                        end
         
     | 
| 
      
 154 
     | 
    
         
            +
                        l = self.attributes[:label] ? _(self.attributes[:label]) : Inflector.underscore_to_upcasefirst(@name.to_s)
         
     | 
| 
      
 155 
     | 
    
         
            +
                        if prev_text_domain
         
     | 
| 
      
 156 
     | 
    
         
            +
                            FastGettext.text_domain = prev_text_domain
         
     | 
| 
      
 157 
     | 
    
         
            +
                        end
         
     | 
| 
      
 158 
     | 
    
         
            +
                        l
         
     | 
| 
       149 
159 
     | 
    
         
             
                    end
         
     | 
| 
       150 
160 
     | 
    
         | 
| 
       151 
161 
     | 
    
         
             
                    def to_s
         
     | 
| 
         @@ -18,9 +18,11 @@ module Spider; module Model 
     | 
|
| 
       18 
18 
     | 
    
         
             
                            self.data = val if (val)
         
     | 
| 
       19 
19 
     | 
    
         
             
                            d = @data
         
     | 
| 
       20 
20 
     | 
    
         
             
                            if self.translate?
         
     | 
| 
       21 
     | 
    
         
            -
                                 
     | 
| 
       22 
     | 
    
         
            -
                                     
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
                                Spider::GetText.in_domain(self.app.short_name){
         
     | 
| 
      
 22 
     | 
    
         
            +
                                    @data.each do |k, v|
         
     | 
| 
      
 23 
     | 
    
         
            +
                                        d[k] = _(v)
         
     | 
| 
      
 24 
     | 
    
         
            +
                                    end
         
     | 
| 
      
 25 
     | 
    
         
            +
                                }
         
     | 
| 
       24 
26 
     | 
    
         
             
                            end
         
     | 
| 
       25 
27 
     | 
    
         
             
                            d
         
     | 
| 
       26 
28 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -6,11 +6,13 @@ module Spider; module Model 
     | 
|
| 
       6 
6 
     | 
    
         
             
                    def initialize(name, owner, integrated_element, integrated_element_element, attributes={})
         
     | 
| 
       7 
7 
     | 
    
         
             
                        @name = name
         
     | 
| 
       8 
8 
     | 
    
         
             
                        @owner = owner
         
     | 
| 
      
 9 
     | 
    
         
            +
                        el = @owner.elements[integrated_element]
         
     | 
| 
      
 10 
     | 
    
         
            +
                        @definer_model = el.model.elements[integrated_element_element].definer_model
         
     | 
| 
       9 
11 
     | 
    
         
             
                        @integrated_element = integrated_element
         
     | 
| 
       10 
12 
     | 
    
         
             
                        @integrated_element_element = integrated_element_element
         
     | 
| 
       11 
13 
     | 
    
         
             
                        @attributes = ({
         
     | 
| 
       12 
14 
     | 
    
         
             
                            :integrated => true,
         
     | 
| 
       13 
     | 
    
         
            -
                            :integrated_from =>  
     | 
| 
      
 15 
     | 
    
         
            +
                            :integrated_from => el,
         
     | 
| 
       14 
16 
     | 
    
         
             
                            :integrated_from_element => @integrated_element_element
         
     | 
| 
       15 
17 
     | 
    
         
             
                        }).merge(attributes)
         
     | 
| 
       16 
18 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -34,11 +34,11 @@ module Spider 
     | 
|
| 
       34 
34 
     | 
    
         
             
                        use_git = false
         
     | 
| 
       35 
35 
     | 
    
         
             
                        unless options[:no_git]
         
     | 
| 
       36 
36 
     | 
    
         
             
                            begin
         
     | 
| 
       37 
     | 
    
         
            -
                                require ' 
     | 
| 
      
 37 
     | 
    
         
            +
                                require 'git'
         
     | 
| 
       38 
38 
     | 
    
         
             
                                use_git = true
         
     | 
| 
       39 
39 
     | 
    
         
             
                            rescue => exc
         
     | 
| 
       40 
40 
     | 
    
         
             
                                puts exc.message
         
     | 
| 
       41 
     | 
    
         
            -
                                puts " 
     | 
| 
      
 41 
     | 
    
         
            +
                                puts "git gem not available; install git gem for Git support"
         
     | 
| 
       42 
42 
     | 
    
         
             
                            end
         
     | 
| 
       43 
43 
     | 
    
         
             
                        end
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
         @@ -74,7 +74,7 @@ module Spider 
     | 
|
| 
       74 
74 
     | 
    
         
             
                            :no_optional_gems => options[:no_optional_gems]
         
     | 
| 
       75 
75 
     | 
    
         
             
                        }
         
     | 
| 
       76 
76 
     | 
    
         
             
                        i_options[:ssh_user] = options[:ssh_user] if options[:ssh_user]
         
     | 
| 
       77 
     | 
    
         
            -
                        inst_specs = specs.reject 
     | 
| 
      
 77 
     | 
    
         
            +
                        inst_specs = specs.reject{ |s| existent.include? s.app_id }
         
     | 
| 
       78 
78 
     | 
    
         
             
                        Spider::AppManager.install(inst_specs, Dir.pwd, i_options)
         
     | 
| 
       79 
79 
     | 
    
         
             
                        unless options[:no_activate]
         
     | 
| 
       80 
80 
     | 
    
         
             
                            require 'spiderfw/spider'
         
     | 
| 
         @@ -93,10 +93,10 @@ module Spider 
     | 
|
| 
       93 
93 
     | 
    
         
             
                        use_git = false
         
     | 
| 
       94 
94 
     | 
    
         
             
                        unless options[:no_git]
         
     | 
| 
       95 
95 
     | 
    
         
             
                            begin
         
     | 
| 
       96 
     | 
    
         
            -
                                require ' 
     | 
| 
      
 96 
     | 
    
         
            +
                                require 'git'
         
     | 
| 
       97 
97 
     | 
    
         
             
                                use_git = true
         
     | 
| 
       98 
98 
     | 
    
         
             
                            rescue
         
     | 
| 
       99 
     | 
    
         
            -
                                puts " 
     | 
| 
      
 99 
     | 
    
         
            +
                                puts "git gem not available; install git gem for Git support"
         
     | 
| 
       100 
100 
     | 
    
         
             
                            end
         
     | 
| 
       101 
101 
     | 
    
         
             
                        end
         
     | 
| 
       102 
102 
     | 
    
         
             
                        if options[:all]
         
     | 
| 
         @@ -131,7 +131,8 @@ module Spider 
     | 
|
| 
       131 
131 
     | 
    
         
             
                    def self.install(specs, home_path, options)
         
     | 
| 
       132 
132 
     | 
    
         
             
                        options[:use_git] = true unless options[:use_git] == false
         
     | 
| 
       133 
133 
     | 
    
         
             
                        options[:home_path] = home_path
         
     | 
| 
       134 
     | 
    
         
            -
                        specs = [specs]  
     | 
| 
      
 134 
     | 
    
         
            +
                        specs = [specs] if specs && !specs.is_a?(Array)
         
     | 
| 
      
 135 
     | 
    
         
            +
                        specs ||= []
         
     | 
| 
       135 
136 
     | 
    
         
             
                        pre_setup(specs, options)
         
     | 
| 
       136 
137 
     | 
    
         
             
                        specs.each do |spec|
         
     | 
| 
       137 
138 
     | 
    
         
             
                            if spec.git_repo && options[:use_git]
         
     | 
| 
         @@ -144,22 +145,25 @@ module Spider 
     | 
|
| 
       144 
145 
     | 
    
         
             
                    end
         
     | 
| 
       145 
146 
     | 
    
         | 
| 
       146 
147 
     | 
    
         
             
                    def self.git_install(spec, home_path, options={})
         
     | 
| 
       147 
     | 
    
         
            -
                        require ' 
     | 
| 
      
 148 
     | 
    
         
            +
                        require 'git'
         
     | 
| 
       148 
149 
     | 
    
         
             
                        if ::File.exist?("apps/#{spec.id}")
         
     | 
| 
       149 
150 
     | 
    
         
             
                            puts _("%s already installed, skipping") % spec.id
         
     | 
| 
       150 
151 
     | 
    
         
             
                            return
         
     | 
| 
       151 
152 
     | 
    
         
             
                        end
         
     | 
| 
       152 
     | 
    
         
            -
                        repo =  
     | 
| 
      
 153 
     | 
    
         
            +
                        repo = Git.open(home_path)
         
     | 
| 
       153 
154 
     | 
    
         
             
                        puts _("Fetching %s from %s") % [spec.app_id, spec.git_repo]
         
     | 
| 
       154 
155 
     | 
    
         
             
                        repo_url = spec.git_repo
         
     | 
| 
       155 
156 
     | 
    
         
             
                        if options[:ssh_user] && repo_url =~ /ssh:\/\/([^@]+@)?(.+)/
         
     | 
| 
       156 
157 
     | 
    
         
             
                            repo_url = "ssh://#{options[:ssh_user]}@#{$2}"
         
     | 
| 
       157 
158 
     | 
    
         
             
                        end
         
     | 
| 
       158 
     | 
    
         
            -
                         
     | 
| 
       159 
     | 
    
         
            -
                         
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
      
 159 
     | 
    
         
            +
                        
         
     | 
| 
      
 160 
     | 
    
         
            +
                        Dir.chdir(home_path) do
         
     | 
| 
      
 161 
     | 
    
         
            +
                            `git submodule add #{repo_url} apps/#{spec.id}`
         
     | 
| 
      
 162 
     | 
    
         
            +
                            `git submodule init`
         
     | 
| 
      
 163 
     | 
    
         
            +
                            `git submodule update`
         
     | 
| 
      
 164 
     | 
    
         
            +
                        end
         
     | 
| 
      
 165 
     | 
    
         
            +
                        repo.add(['.gitmodules', "apps/#{spec.id}"])
         
     | 
| 
      
 166 
     | 
    
         
            +
                        repo.commit(_("Added app %s") % spec.id) 
         
     | 
| 
       163 
167 
     | 
    
         
             
                    end
         
     | 
| 
       164 
168 
     | 
    
         | 
| 
       165 
169 
     | 
    
         
             
                    def self.pack_install(spec, home_path, options={})
         
     | 
| 
         @@ -223,30 +227,29 @@ module Spider 
     | 
|
| 
       223 
227 
     | 
    
         
             
                    end
         
     | 
| 
       224 
228 
     | 
    
         | 
| 
       225 
229 
     | 
    
         
             
                    def self.git_update(spec, home_path, options={})
         
     | 
| 
       226 
     | 
    
         
            -
                        require ' 
     | 
| 
       227 
     | 
    
         
            -
                        home_repo =  
     | 
| 
      
 230 
     | 
    
         
            +
                        require 'git'
         
     | 
| 
      
 231 
     | 
    
         
            +
                        home_repo = Git.open(home_path)
         
     | 
| 
       228 
232 
     | 
    
         
             
                        app_path = File.join(home_path, "apps/#{spec.id}")
         
     | 
| 
       229 
     | 
    
         
            -
                        app_repo =  
     | 
| 
      
 233 
     | 
    
         
            +
                        app_repo = Git.open(app_path)
         
     | 
| 
       230 
234 
     | 
    
         
             
                        puts _("Updating %s from %s") % [spec.app_id, spec.git_repo]
         
     | 
| 
       231 
235 
     | 
    
         
             
                        Dir.chdir(app_path) do
         
     | 
| 
       232 
     | 
    
         
            -
                            app_repo. 
     | 
| 
      
 236 
     | 
    
         
            +
                            app_repo.branch('master').checkout
         
     | 
| 
       233 
237 
     | 
    
         
             
                        end
         
     | 
| 
       234 
     | 
    
         
            -
                        cmd = "#{Grit::Git.git_binary} --git-dir='#{app_path}/.git' pull"
         
     | 
| 
       235 
238 
     | 
    
         
             
                        response = err = nil
         
     | 
| 
       236 
239 
     | 
    
         
             
                        Dir.chdir(app_path) do
         
     | 
| 
       237 
     | 
    
         
            -
                             
     | 
| 
      
 240 
     | 
    
         
            +
                            `git --git-dir='#{app_path}/.git' pull origin master`
         
     | 
| 
       238 
241 
     | 
    
         
             
                        end
         
     | 
| 
       239 
242 
     | 
    
         
             
                        if response =~ /Aborting/
         
     | 
| 
       240 
243 
     | 
    
         
             
                            puts err
         
     | 
| 
       241 
244 
     | 
    
         
             
                            return
         
     | 
| 
       242 
245 
     | 
    
         
             
                        end
         
     | 
| 
       243 
246 
     | 
    
         
             
                        Dir.chdir(app_path) do
         
     | 
| 
       244 
     | 
    
         
            -
                            app_repo. 
     | 
| 
       245 
     | 
    
         
            -
                            app_repo. 
     | 
| 
      
 247 
     | 
    
         
            +
                            app_repo.reset('HEAD', :hard => true)
         
     | 
| 
      
 248 
     | 
    
         
            +
                            app_repo.branch('master').checkout
         
     | 
| 
       246 
249 
     | 
    
         
             
                        end
         
     | 
| 
       247 
250 
     | 
    
         | 
| 
       248 
251 
     | 
    
         
             
                        home_repo.add("apps/#{spec.id}")
         
     | 
| 
       249 
     | 
    
         
            -
                        home_repo. 
     | 
| 
      
 252 
     | 
    
         
            +
                        home_repo.commit(_("Updated app %s") % spec.id) 
         
     | 
| 
       250 
253 
     | 
    
         
             
                    end
         
     | 
| 
       251 
254 
     | 
    
         | 
| 
       252 
255 
     | 
    
         
             
                    def self.pack_update(spec, home_path, options={})
         
     | 
    
        data/lib/spiderfw/spider.rb
    CHANGED
    
    | 
         @@ -83,15 +83,15 @@ module Spider 
     | 
|
| 
       83 
83 
     | 
    
         
             
                    end
         
     | 
| 
       84 
84 
     | 
    
         | 
| 
       85 
85 
     | 
    
         
             
                    def init_apps
         
     | 
| 
       86 
     | 
    
         
            -
                        @apps.each do |name, mod|
         
     | 
| 
       87 
     | 
    
         
            -
                            mod.app_init if mod.respond_to?(:app_init)
         
     | 
| 
       88 
     | 
    
         
            -
                        end
         
     | 
| 
       89 
     | 
    
         
            -
                        GetText::LocalePath.memoize_clear # since new paths have been added to GetText
         
     | 
| 
       90 
86 
     | 
    
         
             
                        @apps.each do |name, mod|
         
     | 
| 
       91 
87 
     | 
    
         
             
                            if File.directory?(File.join(mod.path, 'po'))
         
     | 
| 
       92 
     | 
    
         
            -
                                 
     | 
| 
      
 88 
     | 
    
         
            +
                                Spider.logger.debug("Adding text domain #{mod.short_name}")
         
     | 
| 
      
 89 
     | 
    
         
            +
                                FastGettext.add_text_domain(mod.short_name, :path => File.join(mod.path, 'data', 'locale'))
         
     | 
| 
       93 
90 
     | 
    
         
             
                            end
         
     | 
| 
       94 
91 
     | 
    
         
             
                        end
         
     | 
| 
      
 92 
     | 
    
         
            +
                        @apps.each do |name, mod|
         
     | 
| 
      
 93 
     | 
    
         
            +
                            mod.app_init if mod.respond_to?(:app_init)
         
     | 
| 
      
 94 
     | 
    
         
            +
                        end
         
     | 
| 
       95 
95 
     | 
    
         
             
                    end
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                    def init_done?
         
     | 
| 
         @@ -365,7 +365,6 @@ module Spider 
     | 
|
| 
       365 
365 
     | 
    
         
             
                        last_name = File.basename(path)
         
     | 
| 
       366 
366 
     | 
    
         
             
                        app_files = ['_init.rb', last_name+'.rb', 'cmd.rb']
         
     | 
| 
       367 
367 
     | 
    
         
             
                        app_files.each{ |f| require File.join(relative_path, f) if File.exist?(File.join(path, f)) }
         
     | 
| 
       368 
     | 
    
         
            -
                        GetText::LocalePath.add_default_rule(File.join(path, "data/locale/%{lang}/LC_MESSAGES/%{name}.mo"))
         
     | 
| 
       369 
368 
     | 
    
         
             
                    end
         
     | 
| 
       370 
369 
     | 
    
         | 
| 
       371 
370 
     | 
    
         | 
| 
         @@ -249,7 +249,9 @@ module Spider 
     | 
|
| 
       249 
249 
     | 
    
         
             
                        super
         
     | 
| 
       250 
250 
     | 
    
         
             
                        @is_target = false
         
     | 
| 
       251 
251 
     | 
    
         
             
                        @widgets = {}
         
     | 
| 
       252 
     | 
    
         
            -
                         
     | 
| 
      
 252 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 253 
     | 
    
         
            +
                            @attributes = WidgetAttributes.new(self)
         
     | 
| 
      
 254 
     | 
    
         
            +
                        }
         
     | 
| 
       253 
255 
     | 
    
         
             
                        @id_path = []
         
     | 
| 
       254 
256 
     | 
    
         
             
                        @widget_attributes = {}
         
     | 
| 
       255 
257 
     | 
    
         
             
                        locale = @request.locale.language
         
     | 
| 
         @@ -317,13 +319,15 @@ module Spider 
     | 
|
| 
       317 
319 
     | 
    
         
             
                    end
         
     | 
| 
       318 
320 
     | 
    
         | 
| 
       319 
321 
     | 
    
         
             
                    def widget_before(action='')
         
     | 
| 
       320 
     | 
    
         
            -
                         
     | 
| 
       321 
     | 
    
         
            -
             
     | 
| 
       322 
     | 
    
         
            -
             
     | 
| 
       323 
     | 
    
         
            -
             
     | 
| 
       324 
     | 
    
         
            -
             
     | 
| 
       325 
     | 
    
         
            -
             
     | 
| 
       326 
     | 
    
         
            -
             
     | 
| 
      
 322 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 323 
     | 
    
         
            +
                            widget_init(action)
         
     | 
| 
      
 324 
     | 
    
         
            +
                            if active?
         
     | 
| 
      
 325 
     | 
    
         
            +
                                prepare_scene(@scene)
         
     | 
| 
      
 326 
     | 
    
         
            +
                                prepare
         
     | 
| 
      
 327 
     | 
    
         
            +
                                @before_done = true
         
     | 
| 
      
 328 
     | 
    
         
            +
                            end
         
     | 
| 
      
 329 
     | 
    
         
            +
                        }
         
     | 
| 
      
 330 
     | 
    
         
            +
             
     | 
| 
       327 
331 
     | 
    
         
             
                    end
         
     | 
| 
       328 
332 
     | 
    
         | 
| 
       329 
333 
     | 
    
         | 
| 
         @@ -425,7 +429,7 @@ module Spider 
     | 
|
| 
       425 
429 
     | 
    
         | 
| 
       426 
430 
     | 
    
         
             
                    # Instantiates this widget's own subwidgets.
         
     | 
| 
       427 
431 
     | 
    
         
             
                    def load_widgets(template=@template)
         
     | 
| 
       428 
     | 
    
         
            -
                        if  
     | 
| 
      
 432 
     | 
    
         
            +
                        if self.class.scene_attributes
         
     | 
| 
       429 
433 
     | 
    
         
             
                            self.class.scene_attributes.each do |name|
         
     | 
| 
       430 
434 
     | 
    
         
             
                                @scene[name] = instance_variable_get("@#{name}")
         
     | 
| 
       431 
435 
     | 
    
         
             
                            end
         
     | 
| 
         @@ -472,7 +476,7 @@ module Spider 
     | 
|
| 
       472 
476 
     | 
    
         | 
| 
       473 
477 
     | 
    
         
             
                    def run(action='')
         
     | 
| 
       474 
478 
     | 
    
         
             
                        @widgets.each do |wname, w|
         
     | 
| 
       475 
     | 
    
         
            -
                            w. 
     | 
| 
      
 479 
     | 
    
         
            +
                            w.do_run if w.run?
         
     | 
| 
       476 
480 
     | 
    
         
             
                        end
         
     | 
| 
       477 
481 
     | 
    
         
             
                        if (@parent)
         
     | 
| 
       478 
482 
     | 
    
         
             
                            @parent.after_widget(@id.to_sym)
         
     | 
| 
         @@ -489,33 +493,43 @@ module Spider 
     | 
|
| 
       489 
493 
     | 
    
         
             
                    end
         
     | 
| 
       490 
494 
     | 
    
         | 
| 
       491 
495 
     | 
    
         
             
                    def index
         
     | 
| 
       492 
     | 
    
         
            -
                         
     | 
| 
      
 496 
     | 
    
         
            +
                        do_run
         
     | 
| 
       493 
497 
     | 
    
         
             
                        render
         
     | 
| 
       494 
498 
     | 
    
         
             
                    end
         
     | 
| 
       495 
499 
     | 
    
         | 
| 
      
 500 
     | 
    
         
            +
                    def do_run
         
     | 
| 
      
 501 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 502 
     | 
    
         
            +
                            run
         
     | 
| 
      
 503 
     | 
    
         
            +
                        }
         
     | 
| 
      
 504 
     | 
    
         
            +
                    end
         
     | 
| 
      
 505 
     | 
    
         
            +
                    
         
     | 
| 
       496 
506 
     | 
    
         
             
                    def render
         
     | 
| 
       497 
     | 
    
         
            -
                         
     | 
| 
       498 
     | 
    
         
            -
             
     | 
| 
       499 
     | 
    
         
            -
             
     | 
| 
      
 507 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 508 
     | 
    
         
            +
                            prepare_scene(@scene)
         
     | 
| 
      
 509 
     | 
    
         
            +
                            set_scene_vars(@scene)
         
     | 
| 
      
 510 
     | 
    
         
            +
                            @template.render(@scene) unless @is_target_ancestor && !@is_target 
         
     | 
| 
      
 511 
     | 
    
         
            +
                        }
         
     | 
| 
       500 
512 
     | 
    
         
             
                    end
         
     | 
| 
       501 
513 
     | 
    
         | 
| 
       502 
514 
     | 
    
         
             
                    def execute(action='', *params)
         
     | 
| 
       503 
515 
     | 
    
         
             
                        Spider.logger.debug("Widget #{self} executing #{action}")
         
     | 
| 
       504 
     | 
    
         
            -
                         
     | 
| 
       505 
     | 
    
         
            -
             
     | 
| 
       506 
     | 
    
         
            -
                            if ( 
     | 
| 
       507 
     | 
    
         
            -
                                 
     | 
| 
      
 516 
     | 
    
         
            +
                        Spider::GetText.in_domain(self.class.app.short_name){
         
     | 
| 
      
 517 
     | 
    
         
            +
                            widget_execute = @request.params['_we']
         
     | 
| 
      
 518 
     | 
    
         
            +
                            if (@is_target)
         
     | 
| 
      
 519 
     | 
    
         
            +
                                if (widget_execute)
         
     | 
| 
      
 520 
     | 
    
         
            +
                                    super(widget_execute, *params)
         
     | 
| 
      
 521 
     | 
    
         
            +
                                else
         
     | 
| 
      
 522 
     | 
    
         
            +
                                    do_run
         
     | 
| 
      
 523 
     | 
    
         
            +
                                    render
         
     | 
| 
      
 524 
     | 
    
         
            +
                                end
         
     | 
| 
      
 525 
     | 
    
         
            +
                            elsif (@_widget)
         
     | 
| 
      
 526 
     | 
    
         
            +
                                @_widget.set_action(widget_execute)
         
     | 
| 
      
 527 
     | 
    
         
            +
                                @_widget.before(@_widget_rest, *params)
         
     | 
| 
      
 528 
     | 
    
         
            +
                                @_widget.execute(@_widget_rest, *params)
         
     | 
| 
       508 
529 
     | 
    
         
             
                            else
         
     | 
| 
       509 
     | 
    
         
            -
                                 
     | 
| 
       510 
     | 
    
         
            -
                                render
         
     | 
| 
      
 530 
     | 
    
         
            +
                                super
         
     | 
| 
       511 
531 
     | 
    
         
             
                            end
         
     | 
| 
       512 
     | 
    
         
            -
                         
     | 
| 
       513 
     | 
    
         
            -
                            @_widget.set_action(widget_execute)
         
     | 
| 
       514 
     | 
    
         
            -
                            @_widget.before(@_widget_rest, *params)
         
     | 
| 
       515 
     | 
    
         
            -
                            @_widget.execute(@_widget_rest, *params)
         
     | 
| 
       516 
     | 
    
         
            -
                        else
         
     | 
| 
       517 
     | 
    
         
            -
                            super
         
     | 
| 
       518 
     | 
    
         
            -
                        end
         
     | 
| 
      
 532 
     | 
    
         
            +
                        }
         
     | 
| 
       519 
533 
     | 
    
         
             
                    end
         
     | 
| 
       520 
534 
     | 
    
         | 
| 
       521 
535 
     | 
    
         
             
                    def try_rescue(exc)
         
     | 
| 
         @@ -751,7 +765,7 @@ module Spider 
     | 
|
| 
       751 
765 
     | 
    
         
             
                    end
         
     | 
| 
       752 
766 
     | 
    
         | 
| 
       753 
767 
     | 
    
         
             
                    def set_scene_vars(scene)
         
     | 
| 
       754 
     | 
    
         
            -
                        if  
     | 
| 
      
 768 
     | 
    
         
            +
                        if self.class.scene_attributes # Repeat for new instance variables
         
     | 
| 
       755 
769 
     | 
    
         
             
                            self.class.scene_attributes.each do |name|
         
     | 
| 
       756 
770 
     | 
    
         
             
                                @scene[name] = instance_variable_get("@#{name}")
         
     | 
| 
       757 
771 
     | 
    
         
             
                            end
         
     | 
    
        data/spider.gemspec
    CHANGED
    
    | 
         @@ -28,7 +28,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       28 
28 
     | 
    
         
             
              s.executables = ['spider']
         
     | 
| 
       29 
29 
     | 
    
         
             
              s.default_executable = 'spider'
         
     | 
| 
       30 
30 
     | 
    
         
             
              s.add_dependency("cmdparse", ["> 2.0.0"])
         
     | 
| 
       31 
     | 
    
         
            -
              s.add_dependency(" 
     | 
| 
      
 31 
     | 
    
         
            +
              s.add_dependency("fast_gettext", [">= 0.5.13"])
         
     | 
| 
       32 
32 
     | 
    
         
             
              s.add_dependency("hpricot", ["> 0.8"])
         
     | 
| 
       33 
33 
     | 
    
         
             
              s.add_dependency("json_pure", ["> 1.1"])
         
     | 
| 
       34 
34 
     | 
    
         
             
              s.add_dependency("uuidtools", ["> 2.1"])
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: spiderfw
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 21
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 6
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 9
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.6.9
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Ivan Pirlik
         
     | 
| 
         @@ -15,7 +15,7 @@ autorequire: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
16 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2011-07- 
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2011-07-28 00:00:00 +02:00
         
     | 
| 
       19 
19 
     | 
    
         
             
            default_executable: spider
         
     | 
| 
       20 
20 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
21 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -35,19 +35,19 @@ dependencies: 
     | 
|
| 
       35 
35 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: *id001
         
     | 
| 
       37 
37 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       38 
     | 
    
         
            -
              name:  
     | 
| 
      
 38 
     | 
    
         
            +
              name: fast_gettext
         
     | 
| 
       39 
39 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       40 
40 
     | 
    
         
             
              requirement: &id002 !ruby/object:Gem::Requirement 
         
     | 
| 
       41 
41 
     | 
    
         
             
                none: false
         
     | 
| 
       42 
42 
     | 
    
         
             
                requirements: 
         
     | 
| 
       43 
     | 
    
         
            -
                - - " 
     | 
| 
      
 43 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       44 
44 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       45 
     | 
    
         
            -
                    hash:  
     | 
| 
      
 45 
     | 
    
         
            +
                    hash: 17
         
     | 
| 
       46 
46 
     | 
    
         
             
                    segments: 
         
     | 
| 
       47 
     | 
    
         
            -
                    - 2
         
     | 
| 
       48 
     | 
    
         
            -
                    - 0
         
     | 
| 
       49 
47 
     | 
    
         
             
                    - 0
         
     | 
| 
       50 
     | 
    
         
            -
                     
     | 
| 
      
 48 
     | 
    
         
            +
                    - 5
         
     | 
| 
      
 49 
     | 
    
         
            +
                    - 13
         
     | 
| 
      
 50 
     | 
    
         
            +
                    version: 0.5.13
         
     | 
| 
       51 
51 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       52 
52 
     | 
    
         
             
              version_requirements: *id002
         
     | 
| 
       53 
53 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |