simpleconsole 0.1.0 → 0.1.1
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/bin/files/full.rb +17 -0
 - data/bin/simcon +10 -4
 - data/lib/application.rb +1 -1
 - data/lib/controller.rb +6 -3
 - data/lib/helper.rb +19 -0
 - data/lib/init.rb +2 -0
 - data/lib/prompter.rb +2 -0
 - data/lib/simpleconsole.rb +2 -0
 - data/test/test_prompter.rb +8 -0
 - metadata +7 -2
 
    
        data/bin/files/full.rb
    ADDED
    
    | 
         @@ -0,0 +1,17 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby -w
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "rubygems"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "simpleconsole"
         
     | 
| 
      
 4 
     | 
    
         
            +
            # require File.dirname(__FILE__) + "/../"
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class _Controller_ < SimpleConsole::Controller
         
     | 
| 
      
 7 
     | 
    
         
            +
              def default
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              def method_missing(method)
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            class _View_ < SimpleConsole::View
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            SimpleConsole::Application.run(ARGV, _Controller_, _View_)
         
     | 
    
        data/bin/simcon
    CHANGED
    
    | 
         @@ -7,8 +7,8 @@ class Controller < SimpleConsole::Controller 
     | 
|
| 
       7 
7 
     | 
    
         
             
              params :string => {:c => :controller, :v => :view, :f => :file},
         
     | 
| 
       8 
8 
     | 
    
         
             
                     :bool => {:h => :help}
         
     | 
| 
       9 
9 
     | 
    
         
             
              before_filter :check_params
         
     | 
| 
       10 
     | 
    
         
            -
              before_filter :set_file, :only => [:application, :controller, :single, :view]
         
     | 
| 
       11 
     | 
    
         
            -
              after_filter :put_file, :only => [:application, :controller, :single, :view]
         
     | 
| 
      
 10 
     | 
    
         
            +
              before_filter :set_file, :only => [:application, :controller, :single, :full, :view]
         
     | 
| 
      
 11 
     | 
    
         
            +
              after_filter :put_file, :only => [:application, :controller, :single, :full, :view]
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def rakefile
         
     | 
| 
       14 
14 
     | 
    
         
             
                @filename = "Rakefile"
         
     | 
| 
         @@ -21,7 +21,7 @@ class Controller < SimpleConsole::Controller 
     | 
|
| 
       21 
21 
     | 
    
         
             
              end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              def help
         
     | 
| 
       24 
     | 
    
         
            -
                generators = [:application, :controller, :rakefile, :single, :view]
         
     | 
| 
      
 24 
     | 
    
         
            +
                generators = [:application, :controller, :full, :rakefile, :single, :view]
         
     | 
| 
       25 
25 
     | 
    
         
             
                unless params[:id].nil?
         
     | 
| 
       26 
26 
     | 
    
         
             
                  redirect_to(:action => ("help_" + params[:id]).to_sym) if generators.include?(params[:id].to_sym)
         
     | 
| 
       27 
27 
     | 
    
         
             
                  render :action => :unknown_help
         
     | 
| 
         @@ -108,7 +108,7 @@ class View < SimpleConsole::View 
     | 
|
| 
       108 
108 
     | 
    
         
             
                puts "  single [--file output_file] [-c controller_name | -v view_name]"
         
     | 
| 
       109 
109 
     | 
    
         
             
                puts "  view [--file output_file] [-v view_name]"
         
     | 
| 
       110 
110 
     | 
    
         
             
                puts ""
         
     | 
| 
       111 
     | 
    
         
            -
                puts "The generators will create a new file given by the '-f output_file' argument.  If no '--file' was given, it will output to STDOUT.  Try ' 
     | 
| 
      
 111 
     | 
    
         
            +
                puts "The generators will create a new file given by the '-f output_file' argument.  If no '--file' was given, it will output to STDOUT.  Try 'simcon help [generator]' for more info about each generator."
         
     | 
| 
       112 
112 
     | 
    
         
             
                puts ""
         
     | 
| 
       113 
113 
     | 
    
         
             
                puts "Available options:"
         
     | 
| 
       114 
114 
     | 
    
         
             
                puts "  -f | --file FILENAME"
         
     | 
| 
         @@ -138,6 +138,12 @@ class View < SimpleConsole::View 
     | 
|
| 
       138 
138 
     | 
    
         
             
                puts "Generates an entire application within a single script, including the Controller/View classes and the Application.run statement."
         
     | 
| 
       139 
139 
     | 
    
         
             
              end
         
     | 
| 
       140 
140 
     | 
    
         | 
| 
      
 141 
     | 
    
         
            +
              def help_full
         
     | 
| 
      
 142 
     | 
    
         
            +
                puts "Usage simcon full [-f output_file] [-c controller_name | -v view_name]"
         
     | 
| 
      
 143 
     | 
    
         
            +
                puts ""
         
     | 
| 
      
 144 
     | 
    
         
            +
                puts "Generates an entire application within a single script, including the Controller/View classes and the Application.run statement.  Also generates the method_missing and default methods."
         
     | 
| 
      
 145 
     | 
    
         
            +
              end
         
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
       141 
147 
     | 
    
         
             
              def help_view
         
     | 
| 
       142 
148 
     | 
    
         
             
                puts "Usage simcon view [-f output_file] [-v view_name]"
         
     | 
| 
       143 
149 
     | 
    
         
             
                puts ""
         
     | 
    
        data/lib/application.rb
    CHANGED
    
    | 
         @@ -37,7 +37,7 @@ class SimpleConsole::Application 
     | 
|
| 
       37 
37 
     | 
    
         
             
                @@control = controller_klass.new
         
     | 
| 
       38 
38 
     | 
    
         
             
                @@view = view_klass ? view_klass.new(@@control) : nil
         
     | 
| 
       39 
39 
     | 
    
         
             
                @@control.set_params(argv)
         
     | 
| 
       40 
     | 
    
         
            -
                @@control.set_action(argv[0] || :default)
         
     | 
| 
      
 40 
     | 
    
         
            +
                @@control.set_action(argv[0] =~ /^-/ ? :default : argv[0] || :default)
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
                @@control.execute_action
         
     | 
| 
       43 
43 
     | 
    
         
             
                @@view.render_action unless @@view.nil?
         
     | 
    
        data/lib/controller.rb
    CHANGED
    
    | 
         @@ -25,7 +25,7 @@ require File.dirname(__FILE__) + "/filter.rb" 
     | 
|
| 
       25 
25 
     | 
    
         
             
            # Check out the "before_filter" and "after_filter" methods, similar to the
         
     | 
| 
       26 
26 
     | 
    
         
             
            # methods implemented in Rails.
         
     | 
| 
       27 
27 
     | 
    
         
             
            class SimpleConsole::Controller
         
     | 
| 
       28 
     | 
    
         
            -
              attr_accessor :params
         
     | 
| 
      
 28 
     | 
    
         
            +
              attr_accessor :params, :argv
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
              # Filter for methods to call previous to an action
         
     | 
| 
       31 
31 
     | 
    
         
             
              @@before_chain = SimpleConsole::Filter.new
         
     | 
| 
         @@ -35,11 +35,12 @@ class SimpleConsole::Controller 
     | 
|
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
              # Keeps track of param types
         
     | 
| 
       37 
37 
     | 
    
         
             
              @@params_parser = SimpleConsole::ParamsParser.new
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                
         
     | 
| 
       39 
39 
     | 
    
         
             
              # Initializes the "params" hash and creates a new Controller.  Not needed when
         
     | 
| 
       40 
40 
     | 
    
         
             
              # developing an application with SimpleConsole.
         
     | 
| 
       41 
41 
     | 
    
         
             
              def initialize()
         
     | 
| 
       42 
42 
     | 
    
         
             
                @params = Hash.new
         
     | 
| 
      
 43 
     | 
    
         
            +
                @argv = Array.new
         
     | 
| 
       43 
44 
     | 
    
         
             
              end
         
     | 
| 
       44 
45 
     | 
    
         | 
| 
       45 
46 
     | 
    
         
             
              # Returns true if the controller defines the action given, otherwise returns
         
     | 
| 
         @@ -64,6 +65,7 @@ class SimpleConsole::Controller 
     | 
|
| 
       64 
65 
     | 
    
         
             
                  params[:id] = id.to_i 
         
     | 
| 
       65 
66 
     | 
    
         
             
                end
         
     | 
| 
       66 
67 
     | 
    
         
             
                params.update(@@params_parser.argv_to_params(argv))
         
     | 
| 
      
 68 
     | 
    
         
            +
                argv.concat(argv)
         
     | 
| 
       67 
69 
     | 
    
         
             
              end
         
     | 
| 
       68 
70 
     | 
    
         | 
| 
       69 
71 
     | 
    
         
             
              # Sets the current action to the new action parameter. 
         
     | 
| 
         @@ -85,7 +87,7 @@ class SimpleConsole::Controller 
     | 
|
| 
       85 
87 
     | 
    
         
             
                  raise error unless error.message == "Simple::Console Redirection"
         
     | 
| 
       86 
88 
     | 
    
         
             
                end
         
     | 
| 
       87 
89 
     | 
    
         
             
              end
         
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
      
 90 
     | 
    
         
            +
              
         
     | 
| 
       89 
91 
     | 
    
         
             
              protected
         
     | 
| 
       90 
92 
     | 
    
         
             
              # When the view is rendered, this action is used instead
         
     | 
| 
       91 
93 
     | 
    
         
             
              # == Example Usage
         
     | 
| 
         @@ -219,4 +221,5 @@ class SimpleConsole::Controller 
     | 
|
| 
       219 
221 
     | 
    
         | 
| 
       220 
222 
     | 
    
         
             
              # block all of these methods from being controller actions
         
     | 
| 
       221 
223 
     | 
    
         
             
              @@block_action = self.new.methods
         
     | 
| 
      
 224 
     | 
    
         
            +
             
     | 
| 
       222 
225 
     | 
    
         
             
            end
         
     | 
    
        data/lib/helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module SimpleConsole::TestHelper
         
     | 
| 
      
 2 
     | 
    
         
            +
              def run(action, params)
         
     | 
| 
      
 3 
     | 
    
         
            +
                @control.params = params
         
     | 
| 
      
 4 
     | 
    
         
            +
                SimpleConsole::Application.run([action.to_sym], @control, @view)
         
     | 
| 
      
 5 
     | 
    
         
            +
              end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              def output
         
     | 
| 
      
 8 
     | 
    
         
            +
                return @output.string
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              def initialize_data
         
     | 
| 
      
 12 
     | 
    
         
            +
                @control.instance_variables.each do |var|
         
     | 
| 
      
 13 
     | 
    
         
            +
                  define_method(var.to_s.gsub("^@", "")) do
         
     | 
| 
      
 14 
     | 
    
         
            +
                    return @control.instance_variable_get(var)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/init.rb
    CHANGED
    
    
    
        data/lib/prompter.rb
    ADDED
    
    
    
        data/lib/simpleconsole.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -3,8 +3,8 @@ rubygems_version: 0.8.11 
     | 
|
| 
       3 
3 
     | 
    
         
             
            specification_version: 1
         
     | 
| 
       4 
4 
     | 
    
         
             
            name: simpleconsole
         
     | 
| 
       5 
5 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       6 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
       7 
     | 
    
         
            -
            date:  
     | 
| 
      
 6 
     | 
    
         
            +
              version: 0.1.1
         
     | 
| 
      
 7 
     | 
    
         
            +
            date: 2007-01-16 00:00:00 -08:00
         
     | 
| 
       8 
8 
     | 
    
         
             
            summary: Microframework for developing console apps quickly.
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -33,6 +33,7 @@ files: 
     | 
|
| 
       33 
33 
     | 
    
         
             
            - bin/simcon
         
     | 
| 
       34 
34 
     | 
    
         
             
            - bin/files/application.rb
         
     | 
| 
       35 
35 
     | 
    
         
             
            - bin/files/controller.rb
         
     | 
| 
      
 36 
     | 
    
         
            +
            - bin/files/full.rb
         
     | 
| 
       36 
37 
     | 
    
         
             
            - bin/files/Rakefile
         
     | 
| 
       37 
38 
     | 
    
         
             
            - bin/files/single.rb
         
     | 
| 
       38 
39 
     | 
    
         
             
            - bin/files/view.rb
         
     | 
| 
         @@ -41,12 +42,15 @@ files: 
     | 
|
| 
       41 
42 
     | 
    
         
             
            - test/test_filter.rb
         
     | 
| 
       42 
43 
     | 
    
         
             
            - test/test_init.rb
         
     | 
| 
       43 
44 
     | 
    
         
             
            - test/test_params_parser.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            - test/test_prompter.rb
         
     | 
| 
       44 
46 
     | 
    
         
             
            - test/test_view.rb
         
     | 
| 
       45 
47 
     | 
    
         
             
            - lib/application.rb
         
     | 
| 
       46 
48 
     | 
    
         
             
            - lib/controller.rb
         
     | 
| 
       47 
49 
     | 
    
         
             
            - lib/filter.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
            - lib/helper.rb
         
     | 
| 
       48 
51 
     | 
    
         
             
            - lib/init.rb
         
     | 
| 
       49 
52 
     | 
    
         
             
            - lib/params_parser.rb
         
     | 
| 
      
 53 
     | 
    
         
            +
            - lib/prompter.rb
         
     | 
| 
       50 
54 
     | 
    
         
             
            - lib/simpleconsole.rb
         
     | 
| 
       51 
55 
     | 
    
         
             
            - lib/view.rb
         
     | 
| 
       52 
56 
     | 
    
         
             
            - README
         
     | 
| 
         @@ -57,6 +61,7 @@ test_files: 
     | 
|
| 
       57 
61 
     | 
    
         
             
            - test/test_filter.rb
         
     | 
| 
       58 
62 
     | 
    
         
             
            - test/test_init.rb
         
     | 
| 
       59 
63 
     | 
    
         
             
            - test/test_params_parser.rb
         
     | 
| 
      
 64 
     | 
    
         
            +
            - test/test_prompter.rb
         
     | 
| 
       60 
65 
     | 
    
         
             
            - test/test_view.rb
         
     | 
| 
       61 
66 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       62 
67 
     | 
    
         |