freightrain 0.6.10 → 0.7.0
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/README.rdoc +3 -2
- data/Rakefile +1 -2
- data/lib/freightrain/binding/freight_binding.rb +3 -3
- data/lib/freightrain/ioc/container.rb +3 -3
- data/lib/freightrain/ioc/registry.rb +22 -0
- data/lib/freightrain/views/callback_wrapper.rb +2 -2
- data/lib/freightrain.rb +0 -1
- metadata +6 -21
    
        data/README.rdoc
    CHANGED
    
    | @@ -19,7 +19,8 @@ When you're done with that you can install freightrain with: | |
| 19 19 |  | 
| 20 20 |  | 
| 21 21 | 
             
            == HOW DO I USE IT?
         | 
| 22 | 
            -
            There are small examples in the /examples repository folder
         | 
| 22 | 
            +
            There are small examples in the /examples repository folder. There is also a tutorial (under construction, by Eric Cunningham) here : http://sites.google.com/site/freightrainlib
         | 
| 23 | 
            +
             | 
| 23 24 | 
             
            An up to date larger example : http://github.com/bolthar/intersect
         | 
| 24 25 | 
             
            Note that the project is currently in ALPHA state. Use it in production at your own risk :-) 
         | 
| 25 26 |  | 
| @@ -49,5 +50,5 @@ Would also be very appreciated: | |
| 49 50 | 
             
            For his help with the qtruby bindings
         | 
| 50 51 |  | 
| 51 52 | 
             
            == Eric Cunningham
         | 
| 52 | 
            -
            For bug reports and  | 
| 53 | 
            +
            For bug reports, fixing the instructions, troubleshooting and building the tutorial at http://sites.google.com/site/freightrainlib
         | 
| 53 54 |  | 
    
        data/Rakefile
    CHANGED
    
    | @@ -9,9 +9,8 @@ require 'rake/testtask' | |
| 9 9 |  | 
| 10 10 | 
             
            spec = Gem::Specification.new do |s|
         | 
| 11 11 | 
             
              s.name = 'freightrain'
         | 
| 12 | 
            -
              s.version = '0. | 
| 12 | 
            +
              s.version = '0.7.0'
         | 
| 13 13 | 
             
              s.add_dependency('require_all', '>= 1.1.0')
         | 
| 14 | 
            -
              s.add_dependency('needle', '>= 1.3.0')
         | 
| 15 14 | 
             
              s.has_rdoc = false
         | 
| 16 15 | 
             
              s.homepage = "http://github.com/bolthar/freightrain"
         | 
| 17 16 | 
             
              s.executables = ['ftrain']
         | 
| @@ -1,21 +1,21 @@ | |
| 1 1 |  | 
| 2 2 | 
             
            module Freightrain
         | 
| 3 3 |  | 
| 4 | 
            -
              def configure_container!(registry =  | 
| 4 | 
            +
              def configure_container!(registry = Freightrain::Registry.new)
         | 
| 5 5 |  | 
| 6 6 | 
             
                @registry = registry
         | 
| 7 7 |  | 
| 8 8 | 
             
                ContainerHookable.classes.each do |klass|
         | 
| 9 9 | 
             
                  klass.subclasses.each do |subclass|
         | 
| 10 10 | 
             
                    @registry.register(
         | 
| 11 | 
            -
                      subclass | 
| 11 | 
            +
                      subclass, subclass.container_options)
         | 
| 12 12 | 
             
                  end
         | 
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
              end
         | 
| 16 16 |  | 
| 17 17 | 
             
              def [](class_name)    
         | 
| 18 | 
            -
                return @registry. | 
| 18 | 
            +
                return @registry.resolve(class_name)
         | 
| 19 19 | 
             
              end
         | 
| 20 20 |  | 
| 21 21 | 
             
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
             | 
| 2 | 
            +
            module Freightrain
         | 
| 3 | 
            +
              
         | 
| 4 | 
            +
              class Registry
         | 
| 5 | 
            +
                
         | 
| 6 | 
            +
                def initialize
         | 
| 7 | 
            +
                  @classes = {}
         | 
| 8 | 
            +
                  @cache = {}      
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
                
         | 
| 11 | 
            +
                def register(klass, options)      
         | 
| 12 | 
            +
                  @classes[klass.name.to_convention_sym] = klass
         | 
| 13 | 
            +
                  @cache[klass.name.to_convention_sym] = klass.new if options[:model] == :singleton            
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
                
         | 
| 16 | 
            +
                def resolve(class_name)
         | 
| 17 | 
            +
                  return @cache[class_name] || @classes[class_name].new
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
                
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
              
         | 
| 22 | 
            +
            end
         | 
| @@ -9,11 +9,11 @@ class CallbackWrapper | |
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 11 | 
             
              def target
         | 
| 12 | 
            -
                return @method.name.split("_on_")[0]
         | 
| 12 | 
            +
                return @method.name.to_s.split("_on_")[0]
         | 
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              def event
         | 
| 16 | 
            -
                return @method.name.split("_on_")[1].gsub("_", "-")
         | 
| 16 | 
            +
                return @method.name.to_s.split("_on_")[1].gsub("_", "-")
         | 
| 17 17 | 
             
              end
         | 
| 18 18 |  | 
| 19 19 | 
             
            end
         | 
    
        data/lib/freightrain.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: freightrain
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 3
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0. | 
| 8 | 
            +
              - 7
         | 
| 9 | 
            +
              - 0
         | 
| 10 | 
            +
              version: 0.7.0
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Andrea Dallera
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2010-10- | 
| 18 | 
            +
            date: 2010-10-21 00:00:00 +02:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -34,22 +34,6 @@ dependencies: | |
| 34 34 | 
             
                    version: 1.1.0
         | 
| 35 35 | 
             
              type: :runtime
         | 
| 36 36 | 
             
              version_requirements: *id001
         | 
| 37 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 38 | 
            -
              name: needle
         | 
| 39 | 
            -
              prerelease: false
         | 
| 40 | 
            -
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 41 | 
            -
                none: false
         | 
| 42 | 
            -
                requirements: 
         | 
| 43 | 
            -
                - - ">="
         | 
| 44 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 45 | 
            -
                    hash: 27
         | 
| 46 | 
            -
                    segments: 
         | 
| 47 | 
            -
                    - 1
         | 
| 48 | 
            -
                    - 3
         | 
| 49 | 
            -
                    - 0
         | 
| 50 | 
            -
                    version: 1.3.0
         | 
| 51 | 
            -
              type: :runtime
         | 
| 52 | 
            -
              version_requirements: *id002
         | 
| 53 37 | 
             
            description: ruby desktop development made easy
         | 
| 54 38 | 
             
            email: andrea@andreadallera.com
         | 
| 55 39 | 
             
            executables: 
         | 
| @@ -104,6 +88,7 @@ files: | |
| 104 88 | 
             
            - lib/scaffolding/templates/viewmodel_toplevel.ftt
         | 
| 105 89 | 
             
            - lib/freightrain.rb
         | 
| 106 90 | 
             
            - lib/freightrain/ioc/container.rb
         | 
| 91 | 
            +
            - lib/freightrain/ioc/registry.rb
         | 
| 107 92 | 
             
            - lib/freightrain/ioc/container_hookable.rb
         | 
| 108 93 | 
             
            - lib/freightrain/viewmodels/dialog_extension.rb
         | 
| 109 94 | 
             
            - lib/freightrain/viewmodels/freight_view_model.rb
         |