dindi 0.6.0 → 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.
- checksums.yaml +7 -0
 - data/Gemfile +3 -5
 - data/Gemfile.lock +46 -30
 - data/Rakefile +1 -1
 - data/VERSION +1 -1
 - data/lib/dindi/command_parser.rb +9 -17
 - data/lib/dindi/file_helper.rb +9 -8
 - data/lib/dindi/file_templates/{1.9.2 → latest}/Gemfile.erb +2 -1
 - data/lib/dindi/file_templates/latest/config.ru.erb +47 -0
 - data/lib/dindi/file_templates/latest/database.yml.erb +19 -0
 - data/lib/dindi/file_templates/latest/models.rb.erb +14 -0
 - data/lib/dindi/file_templates/shared/debug_on.rb.erb +29 -0
 - data/lib/dindi/file_templates/shared/deploy_setting.rb.erb +9 -0
 - data/lib/dindi/file_templates/shared/docs.haml.erb +2 -2
 - data/lib/dindi/file_templates/shared/project_name.rb.erb +3 -1
 - metadata +25 -73
 - data/lib/dindi/file_templates/1.9.1/Gemfile.erb +0 -11
 - data/lib/dindi/file_templates/1.9.1/config.ru.erb +0 -53
 - data/lib/dindi/file_templates/1.9.1/database.yml.erb +0 -9
 - data/lib/dindi/file_templates/1.9.1/models.rb.erb +0 -8
 - data/lib/dindi/file_templates/1.9.2/config.ru.erb +0 -53
 - data/lib/dindi/file_templates/1.9.2/database.yml.erb +0 -9
 - data/lib/dindi/file_templates/1.9.2/models.rb.erb +0 -8
 - data/lib/dindi/file_templates/shared/helpers.rb.erb +0 -38
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c956f4624d962f10a0e542ff9db37a3158a269c3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b8360f89f5902eeae21cc10ac3502860a2b9444f
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 84a5cd15bc12e9acf41c9999c87e4d9529c08e77c1e741ed7b38ca977af1ca26d956c1cdea1e2cd5dcec8811e8667b51f4445c93fbf7b9a6d3d7b060bc4435c2
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 820740421268764012a53355ccd6592c7b98afa0e87b92c97ce89ee21a059a732305993701ad91eeeec481916dc97bdc0ebdfd006d58686b9b966b558a0af63e
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -3,13 +3,11 @@ source "http://rubygems.org" 
     | 
|
| 
       3 
3 
     | 
    
         
             
            # Example:
         
     | 
| 
       4 
4 
     | 
    
         
             
            #   gem "activesupport", ">= 2.3.5"
         
     | 
| 
       5 
5 
     | 
    
         
             
            gem "colorize"
         
     | 
| 
       6 
     | 
    
         
            -
            gem "bundler" 
     | 
| 
      
 6 
     | 
    
         
            +
            gem "bundler"
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            # Add dependencies to develop your gem here.
         
     | 
| 
       9 
9 
     | 
    
         
             
            # Include everything needed to run rake, tests, features, etc.
         
     | 
| 
       10 
10 
     | 
    
         
             
            group :development do
         
     | 
| 
       11 
     | 
    
         
            -
              gem " 
     | 
| 
       12 
     | 
    
         
            -
              gem " 
     | 
| 
       13 
     | 
    
         
            -
              gem "jeweler", "~> 1.6.4"
         
     | 
| 
       14 
     | 
    
         
            -
              gem "simplecov", ">= 0"
         
     | 
| 
      
 11 
     | 
    
         
            +
              gem "bundler"
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem "jeweler"
         
     | 
| 
       15 
13 
     | 
    
         
             
            end
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,41 +1,57 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            GEM
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: http://rubygems.org/
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
       13 
     | 
    
         
            -
                   
     | 
| 
      
 4 
     | 
    
         
            +
                addressable (2.3.6)
         
     | 
| 
      
 5 
     | 
    
         
            +
                builder (3.2.2)
         
     | 
| 
      
 6 
     | 
    
         
            +
                colorize (0.7.3)
         
     | 
| 
      
 7 
     | 
    
         
            +
                descendants_tracker (0.0.4)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  thread_safe (~> 0.3, >= 0.3.1)
         
     | 
| 
      
 9 
     | 
    
         
            +
                faraday (0.9.0)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  multipart-post (>= 1.2, < 3)
         
     | 
| 
      
 11 
     | 
    
         
            +
                git (1.2.7)
         
     | 
| 
      
 12 
     | 
    
         
            +
                github_api (0.11.3)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  addressable (~> 2.3)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  descendants_tracker (~> 0.0.1)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  faraday (~> 0.8, < 0.10)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  hashie (>= 1.2)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  multi_json (>= 1.7.5, < 2.0)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  nokogiri (~> 1.6.0)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  oauth2
         
     | 
| 
      
 20 
     | 
    
         
            +
                hashie (3.1.0)
         
     | 
| 
      
 21 
     | 
    
         
            +
                highline (1.6.21)
         
     | 
| 
      
 22 
     | 
    
         
            +
                jeweler (2.0.1)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  builder
         
     | 
| 
      
 24 
     | 
    
         
            +
                  bundler (>= 1.0)
         
     | 
| 
       14 
25 
     | 
    
         
             
                  git (>= 1.2.5)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  github_api
         
     | 
| 
      
 27 
     | 
    
         
            +
                  highline (>= 1.6.15)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  nokogiri (>= 1.5.10)
         
     | 
| 
       15 
29 
     | 
    
         
             
                  rake
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
       21 
     | 
    
         
            -
                 
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
       26 
     | 
    
         
            -
                   
     | 
| 
       27 
     | 
    
         
            -
                   
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                   
     | 
| 
       30 
     | 
    
         
            -
                   
     | 
| 
       31 
     | 
    
         
            -
                 
     | 
| 
      
 30 
     | 
    
         
            +
                  rdoc
         
     | 
| 
      
 31 
     | 
    
         
            +
                json (1.8.1)
         
     | 
| 
      
 32 
     | 
    
         
            +
                jwt (1.0.0)
         
     | 
| 
      
 33 
     | 
    
         
            +
                mini_portile (0.6.0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                multi_json (1.10.1)
         
     | 
| 
      
 35 
     | 
    
         
            +
                multi_xml (0.5.5)
         
     | 
| 
      
 36 
     | 
    
         
            +
                multipart-post (2.0.0)
         
     | 
| 
      
 37 
     | 
    
         
            +
                nokogiri (1.6.2.1)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  mini_portile (= 0.6.0)
         
     | 
| 
      
 39 
     | 
    
         
            +
                oauth2 (0.9.4)
         
     | 
| 
      
 40 
     | 
    
         
            +
                  faraday (>= 0.8, < 0.10)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  jwt (~> 1.0)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  multi_json (~> 1.3)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  multi_xml (~> 0.5)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  rack (~> 1.2)
         
     | 
| 
      
 45 
     | 
    
         
            +
                rack (1.5.2)
         
     | 
| 
      
 46 
     | 
    
         
            +
                rake (10.3.2)
         
     | 
| 
      
 47 
     | 
    
         
            +
                rdoc (4.1.1)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  json (~> 1.4)
         
     | 
| 
      
 49 
     | 
    
         
            +
                thread_safe (0.3.4)
         
     | 
| 
       32 
50 
     | 
    
         | 
| 
       33 
51 
     | 
    
         
             
            PLATFORMS
         
     | 
| 
       34 
52 
     | 
    
         
             
              ruby
         
     | 
| 
       35 
53 
     | 
    
         | 
| 
       36 
54 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
       37 
     | 
    
         
            -
              bundler 
     | 
| 
      
 55 
     | 
    
         
            +
              bundler
         
     | 
| 
       38 
56 
     | 
    
         
             
              colorize
         
     | 
| 
       39 
     | 
    
         
            -
              jeweler 
     | 
| 
       40 
     | 
    
         
            -
              shoulda
         
     | 
| 
       41 
     | 
    
         
            -
              simplecov
         
     | 
| 
      
 57 
     | 
    
         
            +
              jeweler
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -17,7 +17,7 @@ Jeweler::Tasks.new do |gem| 
     | 
|
| 
       17 
17 
     | 
    
         
             
              gem.name = "dindi"
         
     | 
| 
       18 
18 
     | 
    
         
             
              gem.homepage = "http://github.com/samchandra/dindi"
         
     | 
| 
       19 
19 
     | 
    
         
             
              gem.license = "MIT"
         
     | 
| 
       20 
     | 
    
         
            -
              gem.summary = %Q{Dindi is a hit  
     | 
| 
      
 20 
     | 
    
         
            +
              gem.summary = %Q{Dindi is a hit from Sinatra}
         
     | 
| 
       21 
21 
     | 
    
         
             
              gem.description = %Q{This gem will create a modular base for a new Sinatra app}
         
     | 
| 
       22 
22 
     | 
    
         
             
              gem.email = "samuelchandra@yahoo.com"
         
     | 
| 
       23 
23 
     | 
    
         
             
              gem.authors = ["Samuel Chandra"]
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.7.0
         
     | 
    
        data/lib/dindi/command_parser.rb
    CHANGED
    
    | 
         @@ -8,7 +8,9 @@ module Dindi 
     | 
|
| 
       8 
8 
     | 
    
         
             
              module CommandParser
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                def self.parse(args, options)
         
     | 
| 
       11 
     | 
    
         
            -
                  # The options specified on the command line will be collected in  
     | 
| 
      
 11 
     | 
    
         
            +
                  # The options specified on the command line will be collected in 
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # *options*.
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #
         
     | 
| 
       12 
14 
     | 
    
         
             
                  # We set the default value here
         
     | 
| 
       13 
15 
     | 
    
         
             
                  options.project_name = nil
         
     | 
| 
       14 
16 
     | 
    
         | 
| 
         @@ -20,12 +22,7 @@ module Dindi 
     | 
|
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
                    opts.on("-n", "--name PROJECT_NAME",
         
     | 
| 
       22 
24 
     | 
    
         
             
                            "Specify your project name PROJECT_NAME that will be created") do |lib|
         
     | 
| 
       23 
     | 
    
         
            -
                      options.project_name = lib
         
     | 
| 
       24 
     | 
    
         
            -
                    end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                    opts.on("-r", "--ruby RUBY_VERSION",
         
     | 
| 
       27 
     | 
    
         
            -
                            "Set RUBY_VERSION to 1.9.1 for compatibility mode") do |ver|
         
     | 
| 
       28 
     | 
    
         
            -
                      options.ruby_version = ver
         
     | 
| 
      
 25 
     | 
    
         
            +
                      options.project_name = lib.downcase
         
     | 
| 
       29 
26 
     | 
    
         
             
                    end
         
     | 
| 
       30 
27 
     | 
    
         | 
| 
       31 
28 
     | 
    
         
             
                    # No argument, shows at tail. This will print an options summary.
         
     | 
| 
         @@ -40,17 +37,12 @@ module Dindi 
     | 
|
| 
       40 
37 
     | 
    
         | 
| 
       41 
38 
     | 
    
         
             
                  opts.parse!(args)
         
     | 
| 
       42 
39 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
                   
     | 
| 
       44 
     | 
    
         
            -
                    options.ruby_version = "1.9.2"
         
     | 
| 
       45 
     | 
    
         
            -
                  else
         
     | 
| 
       46 
     | 
    
         
            -
                    options.ruby_version = "1.9.1"
         
     | 
| 
       47 
     | 
    
         
            -
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
                  options.ruby_version = "latest"
         
     | 
| 
       48 
41 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
                  # set project absolute dir 
     | 
| 
       50 
     | 
    
         
            -
                  options.project_absolute_dir =  
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
                    nil
         
     | 
| 
      
 42 
     | 
    
         
            +
                  # set project absolute dir
         
     | 
| 
      
 43 
     | 
    
         
            +
                  options.project_absolute_dir = nil
         
     | 
| 
      
 44 
     | 
    
         
            +
                  if options.project_name
         
     | 
| 
      
 45 
     | 
    
         
            +
                    options.project_absolute_dir = File.join(FileUtils.pwd, options.project_name)
         
     | 
| 
       54 
46 
     | 
    
         
             
                  end
         
     | 
| 
       55 
47 
     | 
    
         | 
| 
       56 
48 
     | 
    
         
             
                rescue Exception => e
         
     | 
    
        data/lib/dindi/file_helper.rb
    CHANGED
    
    | 
         @@ -7,8 +7,8 @@ module Dindi 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                def self.create_default_directories(options)
         
     | 
| 
       9 
9 
     | 
    
         
             
                  project_absolute_dir = options.project_absolute_dir
         
     | 
| 
       10 
     | 
    
         
            -
                  %w(tmp log public push views routes extlibs models helpers).each do |dir|
         
     | 
| 
       11 
     | 
    
         
            -
                    FileUtils.mkdir_p(project_absolute_dir  
     | 
| 
      
 10 
     | 
    
         
            +
                  %w(tmp log public push views routes extlibs models helpers tests scripts).each do |dir|
         
     | 
| 
      
 11 
     | 
    
         
            +
                    FileUtils.mkdir_p(File.join(project_absolute_dir, dir))
         
     | 
| 
       12 
12 
     | 
    
         
             
                  end
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
         @@ -19,8 +19,8 @@ module Dindi 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  # version specific file templates and shared template together
         
     | 
| 
       20 
20 
     | 
    
         
             
                  [ruby_version, "shared"].each do |dir_name|
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
                    Dir.glob(File.dirname(__FILE__)  
     | 
| 
       23 
     | 
    
         
            -
                      filename =  
     | 
| 
      
 22 
     | 
    
         
            +
                    Dir.glob(File.join(File.dirname(__FILE__), 'file_templates', dir_name, '*')).each do |file|
         
     | 
| 
      
 23 
     | 
    
         
            +
                      filename = File.basename(file, ".*")
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                      # read file as ERB templates
         
     | 
| 
       26 
26 
     | 
    
         
             
                      content = File.open(file, "r").read
         
     | 
| 
         @@ -45,15 +45,16 @@ module Dindi 
     | 
|
| 
       45 
45 
     | 
    
         
             
                  project_absolute_dir = options.project_absolute_dir
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                  # copy location for not common template files
         
     | 
| 
       48 
     | 
    
         
            -
                  special_location_hash = {" 
     | 
| 
       49 
     | 
    
         
            -
                                           " 
     | 
| 
       50 
     | 
    
         
            -
                                           " 
     | 
| 
      
 48 
     | 
    
         
            +
                  special_location_hash = {"debug_on.rb"        => File.join(project_absolute_dir, 'helpers', 'debug_on.rb'),
         
     | 
| 
      
 49 
     | 
    
         
            +
                                           "deploy_setting.rb"  => File.join(project_absolute_dir, 'helpers', 'deploy_setting.rb'),
         
     | 
| 
      
 50 
     | 
    
         
            +
                                           "docs.haml"          => File.join(project_absolute_dir, 'views', 'docs.haml'), 
         
     | 
| 
      
 51 
     | 
    
         
            +
                                           "project_name.rb"    => File.join(project_absolute_dir, "#{options.project_name}.rb")
         
     | 
| 
       51 
52 
     | 
    
         
             
                                          }
         
     | 
| 
       52 
53 
     | 
    
         | 
| 
       53 
54 
     | 
    
         
             
                  if special_location_hash[filename]
         
     | 
| 
       54 
55 
     | 
    
         
             
                    return special_location_hash[filename]
         
     | 
| 
       55 
56 
     | 
    
         
             
                  else
         
     | 
| 
       56 
     | 
    
         
            -
                    return  
     | 
| 
      
 57 
     | 
    
         
            +
                    return File.join(project_absolute_dir, filename)
         
     | 
| 
       57 
58 
     | 
    
         
             
                  end
         
     | 
| 
       58 
59 
     | 
    
         | 
| 
       59 
60 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,47 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            $: << "."
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # we use bundler
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'bundler/setup'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            # modular sinatra app
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'sinatra/base'
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            # gems
         
     | 
| 
      
 10 
     | 
    
         
            +
            %w(logger json haml digest date time pony).each {|gem| require gem}
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            # helpers
         
     | 
| 
      
 13 
     | 
    
         
            +
            Dir.glob("./helpers/*.rb").each {|helper| require helper}
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            # load db config and models
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'models'
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            # extra library
         
     | 
| 
      
 19 
     | 
    
         
            +
            Dir.glob("./extlibs/*.rb").each {|extlib| require extlib}
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            # controllers
         
     | 
| 
      
 22 
     | 
    
         
            +
            Dir.glob("./routes/*.rb").each {|route| require route}
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            # app file
         
     | 
| 
      
 25 
     | 
    
         
            +
            require '<%= options.project_name %>'
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            class Sinatra::Base
         
     | 
| 
      
 28 
     | 
    
         
            +
              # helpers
         
     | 
| 
      
 29 
     | 
    
         
            +
              include DebugOn
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              # set sinatra's variables
         
     | 
| 
      
 32 
     | 
    
         
            +
              set     :app_name, "<%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>" 
         
     | 
| 
      
 33 
     | 
    
         
            +
              set     :app_logger, ::Logger.new(File.join(File.dirname(__FILE__), 'log', "<%= options.project_name %>.log"))
         
     | 
| 
      
 34 
     | 
    
         
            +
              set     :root, File.dirname(__FILE__)
         
     | 
| 
      
 35 
     | 
    
         
            +
              set     :environment, DeploySetting.environment
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              if settings.environment == :production
         
     | 
| 
      
 38 
     | 
    
         
            +
                enable  :sessions, :logging, :dump_errors
         
     | 
| 
      
 39 
     | 
    
         
            +
                disable :run, :reload, :show_exceptions
         
     | 
| 
      
 40 
     | 
    
         
            +
              else
         
     | 
| 
      
 41 
     | 
    
         
            +
                enable  :sessions, :logging, :dump_errors, :show_exceptions
         
     | 
| 
      
 42 
     | 
    
         
            +
                disable :run, :reload
         
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            run <%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            production:
         
     | 
| 
      
 2 
     | 
    
         
            +
              adapter:  mysql2
         
     | 
| 
      
 3 
     | 
    
         
            +
              username: root
         
     | 
| 
      
 4 
     | 
    
         
            +
              password: password
         
     | 
| 
      
 5 
     | 
    
         
            +
              host:     localhost
         
     | 
| 
      
 6 
     | 
    
         
            +
              timezone: SGT
         
     | 
| 
      
 7 
     | 
    
         
            +
              reconnect: true
         
     | 
| 
      
 8 
     | 
    
         
            +
              database: <%= options.project_name %>
         
     | 
| 
      
 9 
     | 
    
         
            +
              encoding: utf8
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            development:
         
     | 
| 
      
 12 
     | 
    
         
            +
              adapter:  mysql2
         
     | 
| 
      
 13 
     | 
    
         
            +
              username: root
         
     | 
| 
      
 14 
     | 
    
         
            +
              password: password
         
     | 
| 
      
 15 
     | 
    
         
            +
              host:     localhost
         
     | 
| 
      
 16 
     | 
    
         
            +
              timezone: SGT
         
     | 
| 
      
 17 
     | 
    
         
            +
              reconnect: true
         
     | 
| 
      
 18 
     | 
    
         
            +
              database: <%= options.project_name %>_dev
         
     | 
| 
      
 19 
     | 
    
         
            +
              encoding: utf8
         
     | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'mysql2'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'active_record'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            config = YAML.load_file(File.join(File.dirname(__FILE__), 'database.yml'))
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            if DeploySetting.environment == :production
         
     | 
| 
      
 7 
     | 
    
         
            +
              ActiveRecord::Base.establish_connection(config["production"])
         
     | 
| 
      
 8 
     | 
    
         
            +
            else
         
     | 
| 
      
 9 
     | 
    
         
            +
              ActiveRecord::Base.establish_connection(config["development"])
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ActiveRecord::Base.include_root_in_json = false
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            Dir.glob(File.join(File.dirname(__FILE__), "models", "*.rb")).each {|model| require model}
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module DebugOn
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              def app_debug_on
         
     | 
| 
      
 4 
     | 
    
         
            +
                settings.app_logger.info("===== START =====> #{Time.now.strftime("%d/%m/%Y %H:%M %p")}")
         
     | 
| 
      
 5 
     | 
    
         
            +
                settings.app_logger.info(request.url)
         
     | 
| 
      
 6 
     | 
    
         
            +
                settings.app_logger.info("Params:")
         
     | 
| 
      
 7 
     | 
    
         
            +
                params.each do |key, value|
         
     | 
| 
      
 8 
     | 
    
         
            +
                  settings.app_logger.info("#{key} => #{value}")
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
              
         
     | 
| 
      
 12 
     | 
    
         
            +
              def app_logger(text)
         
     | 
| 
      
 13 
     | 
    
         
            +
                settings.app_logger.info(text)
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
              
         
     | 
| 
      
 16 
     | 
    
         
            +
              # Basic Authentication
         
     | 
| 
      
 17 
     | 
    
         
            +
              def protected!
         
     | 
| 
      
 18 
     | 
    
         
            +
                unless authorized?
         
     | 
| 
      
 19 
     | 
    
         
            +
                  response['WWW-Authenticate'] = %(Basic realm="Restricted Area")
         
     | 
| 
      
 20 
     | 
    
         
            +
                  throw(:halt, [401, "Not authorized\n"])
         
     | 
| 
      
 21 
     | 
    
         
            +
                end 
         
     | 
| 
      
 22 
     | 
    
         
            +
              end 
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              def authorized?
         
     | 
| 
      
 25 
     | 
    
         
            +
                @auth ||= Rack::Auth::Basic::Request.new(request.env)
         
     | 
| 
      
 26 
     | 
    
         
            +
                @auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == ['admin', 'password']
         
     | 
| 
      
 27 
     | 
    
         
            +
              end  
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            %html
         
     | 
| 
       2 
2 
     | 
    
         
             
              %head
         
     | 
| 
       3 
     | 
    
         
            -
                %title 
     | 
| 
      
 3 
     | 
    
         
            +
                %title Docs
         
     | 
| 
       4 
4 
     | 
    
         
             
                %meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
         
     | 
| 
       5 
5 
     | 
    
         
             
                %meta{:content => "NONE,NOARCHIVE", :name => "robots"}
         
     | 
| 
       6 
6 
     | 
    
         
             
                %link{:href => "http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css", :rel => "stylesheet", :type => "text/css"}
         
     | 
| 
         @@ -25,7 +25,7 @@ 
     | 
|
| 
       25 
25 
     | 
    
         
             
                            %th{:width => "45%"} Description                                                                                
         
     | 
| 
       26 
26 
     | 
    
         
             
                        %tfoot
         
     | 
| 
       27 
27 
     | 
    
         
             
                          %tr 
         
     | 
| 
       28 
     | 
    
         
            -
                            %td{:colspan => "3"} Copyright © 
     | 
| 
      
 28 
     | 
    
         
            +
                            %td{:colspan => "3"} Copyright ©2014
         
     | 
| 
       29 
29 
     | 
    
         
             
                        %tbody
         
     | 
| 
       30 
30 
     | 
    
         
             
                          %tr 
         
     | 
| 
       31 
31 
     | 
    
         
             
                            %td GET
         
     | 
| 
         @@ -1,5 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class <%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %> < Sinatra::Base
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
              # Routes
         
     | 
| 
      
 4 
     | 
    
         
            +
              # use Cms
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       3 
6 
     | 
    
         
             
              # index
         
     | 
| 
       4 
7 
     | 
    
         
             
              get '/' do
         
     | 
| 
       5 
8 
     | 
    
         
             
                '<%= options.project_name %>'
         
     | 
| 
         @@ -8,7 +11,6 @@ class <%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %> < Sinatra::Ba 
     | 
|
| 
       8 
11 
     | 
    
         
             
              # docs
         
     | 
| 
       9 
12 
     | 
    
         
             
              get '/docs' do
         
     | 
| 
       10 
13 
     | 
    
         
             
                protected!
         
     | 
| 
       11 
     | 
    
         
            -
                @page_title = "Docs"
         
     | 
| 
       12 
14 
     | 
    
         
             
                haml :docs, :layout => false
         
     | 
| 
       13 
15 
     | 
    
         
             
              end
         
     | 
| 
       14 
16 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,110 +1,69 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: dindi
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
       5 
     | 
    
         
            -
              prerelease: 
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.7.0
         
     | 
| 
       6 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
7 
     | 
    
         
             
            - Samuel Chandra
         
     | 
| 
       9 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-07-04 00:00:00.000000000 Z
         
     | 
| 
       13 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
14 
     | 
    
         
             
              name: colorize
         
     | 
| 
       16 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
     | 
    
         
            -
                none: false
         
     | 
| 
       18 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
     | 
    
         
            -
                - -  
     | 
| 
      
 17 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       20 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       21 
19 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       22 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
     | 
    
         
            -
                none: false
         
     | 
| 
       26 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       27 
     | 
    
         
            -
                - -  
     | 
| 
      
 24 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       28 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       29 
26 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       30 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       31 
28 
     | 
    
         
             
              name: bundler
         
     | 
| 
       32 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       33 
     | 
    
         
            -
                none: false
         
     | 
| 
       34 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       35 
     | 
    
         
            -
                - -  
     | 
| 
       36 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       37 
     | 
    
         
            -
                    version: 1.0.0
         
     | 
| 
       38 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       39 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       40 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       41 
     | 
    
         
            -
                none: false
         
     | 
| 
       42 
     | 
    
         
            -
                requirements:
         
     | 
| 
       43 
     | 
    
         
            -
                - - ! '>='
         
     | 
| 
       44 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       45 
     | 
    
         
            -
                    version: 1.0.0
         
     | 
| 
       46 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       47 
     | 
    
         
            -
              name: shoulda
         
     | 
| 
       48 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       49 
     | 
    
         
            -
                none: false
         
     | 
| 
       50 
     | 
    
         
            -
                requirements:
         
     | 
| 
       51 
     | 
    
         
            -
                - - ! '>='
         
     | 
| 
      
 31 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       52 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       53 
33 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       54 
     | 
    
         
            -
              type: : 
     | 
| 
      
 34 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
       55 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       56 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       57 
     | 
    
         
            -
                none: false
         
     | 
| 
       58 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - -  
     | 
| 
      
 38 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       60 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
40 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       62 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       63 
42 
     | 
    
         
             
              name: bundler
         
     | 
| 
       64 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
     | 
    
         
            -
                none: false
         
     | 
| 
       66 
44 
     | 
    
         
             
                requirements:
         
     | 
| 
       67 
     | 
    
         
            -
                - -  
     | 
| 
      
 45 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       68 
46 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       69 
     | 
    
         
            -
                    version:  
     | 
| 
      
 47 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       70 
48 
     | 
    
         
             
              type: :development
         
     | 
| 
       71 
49 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       72 
50 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       73 
     | 
    
         
            -
                none: false
         
     | 
| 
       74 
51 
     | 
    
         
             
                requirements:
         
     | 
| 
       75 
     | 
    
         
            -
                - -  
     | 
| 
      
 52 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       76 
53 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       77 
     | 
    
         
            -
                    version:  
     | 
| 
      
 54 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       78 
55 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       79 
56 
     | 
    
         
             
              name: jeweler
         
     | 
| 
       80 
57 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       81 
     | 
    
         
            -
                none: false
         
     | 
| 
       82 
     | 
    
         
            -
                requirements:
         
     | 
| 
       83 
     | 
    
         
            -
                - - ~>
         
     | 
| 
       84 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       85 
     | 
    
         
            -
                    version: 1.6.4
         
     | 
| 
       86 
     | 
    
         
            -
              type: :development
         
     | 
| 
       87 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       88 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       89 
     | 
    
         
            -
                none: false
         
     | 
| 
       90 
     | 
    
         
            -
                requirements:
         
     | 
| 
       91 
     | 
    
         
            -
                - - ~>
         
     | 
| 
       92 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       93 
     | 
    
         
            -
                    version: 1.6.4
         
     | 
| 
       94 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       95 
     | 
    
         
            -
              name: simplecov
         
     | 
| 
       96 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       97 
     | 
    
         
            -
                none: false
         
     | 
| 
       98 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       99 
     | 
    
         
            -
                - -  
     | 
| 
      
 59 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       100 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       101 
61 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       102 
62 
     | 
    
         
             
              type: :development
         
     | 
| 
       103 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       104 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       105 
     | 
    
         
            -
                none: false
         
     | 
| 
       106 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       107 
     | 
    
         
            -
                - -  
     | 
| 
      
 66 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       108 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       109 
68 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       110 
69 
     | 
    
         
             
            description: This gem will create a modular base for a new Sinatra app
         
     | 
| 
         @@ -126,45 +85,38 @@ files: 
     | 
|
| 
       126 
85 
     | 
    
         
             
            - lib/dindi.rb
         
     | 
| 
       127 
86 
     | 
    
         
             
            - lib/dindi/command_parser.rb
         
     | 
| 
       128 
87 
     | 
    
         
             
            - lib/dindi/file_helper.rb
         
     | 
| 
       129 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       130 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       131 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       132 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       133 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       134 
     | 
    
         
            -
            - lib/dindi/file_templates/ 
     | 
| 
       135 
     | 
    
         
            -
            - lib/dindi/file_templates/1.9.2/database.yml.erb
         
     | 
| 
       136 
     | 
    
         
            -
            - lib/dindi/file_templates/1.9.2/models.rb.erb
         
     | 
| 
      
 88 
     | 
    
         
            +
            - lib/dindi/file_templates/latest/Gemfile.erb
         
     | 
| 
      
 89 
     | 
    
         
            +
            - lib/dindi/file_templates/latest/config.ru.erb
         
     | 
| 
      
 90 
     | 
    
         
            +
            - lib/dindi/file_templates/latest/database.yml.erb
         
     | 
| 
      
 91 
     | 
    
         
            +
            - lib/dindi/file_templates/latest/models.rb.erb
         
     | 
| 
      
 92 
     | 
    
         
            +
            - lib/dindi/file_templates/shared/debug_on.rb.erb
         
     | 
| 
      
 93 
     | 
    
         
            +
            - lib/dindi/file_templates/shared/deploy_setting.rb.erb
         
     | 
| 
       137 
94 
     | 
    
         
             
            - lib/dindi/file_templates/shared/docs.haml.erb
         
     | 
| 
       138 
     | 
    
         
            -
            - lib/dindi/file_templates/shared/helpers.rb.erb
         
     | 
| 
       139 
95 
     | 
    
         
             
            - lib/dindi/file_templates/shared/project_name.rb.erb
         
     | 
| 
       140 
96 
     | 
    
         
             
            - test/helper.rb
         
     | 
| 
       141 
97 
     | 
    
         
             
            - test/test_dindi.rb
         
     | 
| 
       142 
98 
     | 
    
         
             
            homepage: http://github.com/samchandra/dindi
         
     | 
| 
       143 
99 
     | 
    
         
             
            licenses:
         
     | 
| 
       144 
100 
     | 
    
         
             
            - MIT
         
     | 
| 
      
 101 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
       145 
102 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       146 
103 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       147 
104 
     | 
    
         
             
            require_paths:
         
     | 
| 
       148 
105 
     | 
    
         
             
            - lib
         
     | 
| 
       149 
106 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       150 
     | 
    
         
            -
              none: false
         
     | 
| 
       151 
107 
     | 
    
         
             
              requirements:
         
     | 
| 
       152 
     | 
    
         
            -
              - -  
     | 
| 
      
 108 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       153 
109 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       154 
110 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       155 
     | 
    
         
            -
                  segments:
         
     | 
| 
       156 
     | 
    
         
            -
                  - 0
         
     | 
| 
       157 
     | 
    
         
            -
                  hash: 4037155346142818555
         
     | 
| 
       158 
111 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       159 
     | 
    
         
            -
              none: false
         
     | 
| 
       160 
112 
     | 
    
         
             
              requirements:
         
     | 
| 
       161 
     | 
    
         
            -
              - -  
     | 
| 
      
 113 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       162 
114 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       163 
115 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       164 
116 
     | 
    
         
             
            requirements: []
         
     | 
| 
       165 
117 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       166 
     | 
    
         
            -
            rubygems_version:  
     | 
| 
      
 118 
     | 
    
         
            +
            rubygems_version: 2.0.3
         
     | 
| 
       167 
119 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       168 
     | 
    
         
            -
            specification_version:  
     | 
| 
       169 
     | 
    
         
            -
            summary: Dindi is a hit  
     | 
| 
      
 120 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 121 
     | 
    
         
            +
            summary: Dindi is a hit from Sinatra
         
     | 
| 
       170 
122 
     | 
    
         
             
            test_files: []
         
     | 
| 
         @@ -1,53 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            $: << "."
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            # we use bundler
         
     | 
| 
       4 
     | 
    
         
            -
            require 'bundler/setup'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            # modular sinatra app
         
     | 
| 
       7 
     | 
    
         
            -
            require 'sinatra/base'
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            # gems
         
     | 
| 
       10 
     | 
    
         
            -
            %w(logger json haml csv digest date time activesupport pony).each  {|lib| require lib}
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            # load db config and models
         
     | 
| 
       13 
     | 
    
         
            -
            require 'models'
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            # extra library
         
     | 
| 
       16 
     | 
    
         
            -
            Dir.glob("./extlibs/*.rb").each {|extlib| require extlib}
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            # helpers
         
     | 
| 
       19 
     | 
    
         
            -
            Dir.glob("./helpers/*.rb").each {|helper| require helper}
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            # controllers
         
     | 
| 
       22 
     | 
    
         
            -
            Dir.glob("./routes/*.rb").each {|route| require route}
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            # app file
         
     | 
| 
       25 
     | 
    
         
            -
            require '<%= options.project_name %>'
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            # custom app logger different from sinatra logging
         
     | 
| 
       28 
     | 
    
         
            -
            $APP_LOG = ::Logger.new("log/<%= options.project_name %>.log")
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
            # app name
         
     | 
| 
       31 
     | 
    
         
            -
            $APP_NAME = "<%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>"
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            class Sinatra::Base
         
     | 
| 
       34 
     | 
    
         
            -
              # helpers
         
     | 
| 
       35 
     | 
    
         
            -
              include DebugOn
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
              # set sinatra's variables
         
     | 
| 
       38 
     | 
    
         
            -
              set     :root, ::File.dirname(__FILE__)
         
     | 
| 
       39 
     | 
    
         
            -
              set     :environment, :production
         
     | 
| 
       40 
     | 
    
         
            -
              enable  :sessions, :logging, :dump_errors, :show_exceptions
         
     | 
| 
       41 
     | 
    
         
            -
              disable :run, :reload
         
     | 
| 
       42 
     | 
    
         
            -
            end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            # app routes
         
     | 
| 
       45 
     | 
    
         
            -
            App = Rack::Builder.app do
         
     | 
| 
       46 
     | 
    
         
            -
              # routes
         
     | 
| 
       47 
     | 
    
         
            -
              # use Cms
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
              run <%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>
         
     | 
| 
       50 
     | 
    
         
            -
            end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
            # finally
         
     | 
| 
       53 
     | 
    
         
            -
            run App
         
     | 
| 
         @@ -1,8 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'mysql2'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'activerecord'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            config = YAML.load_file('database.yml')
         
     | 
| 
       5 
     | 
    
         
            -
            ActiveRecord::Base.establish_connection(config["production"])
         
     | 
| 
       6 
     | 
    
         
            -
            ActiveRecord::Base.include_root_in_json = false
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            Dir.glob("<%= project_absolute_dir %>/models/*.rb").each {|model| require model}
         
     | 
| 
         @@ -1,53 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            $: << "."
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            # we use bundler
         
     | 
| 
       4 
     | 
    
         
            -
            require 'bundler/setup'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            # modular sinatra app
         
     | 
| 
       7 
     | 
    
         
            -
            require 'sinatra/base'
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            # gems
         
     | 
| 
       10 
     | 
    
         
            -
            %w(logger json haml csv digest date time active_support pony).each  {|lib| require lib}
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            # load db config and models
         
     | 
| 
       13 
     | 
    
         
            -
            require 'models'
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            # extra library
         
     | 
| 
       16 
     | 
    
         
            -
            Dir.glob("./extlibs/*.rb").each {|extlib| require extlib}
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            # helpers
         
     | 
| 
       19 
     | 
    
         
            -
            Dir.glob("./helpers/*.rb").each {|helper| require helper}
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            # controllers
         
     | 
| 
       22 
     | 
    
         
            -
            Dir.glob("./routes/*.rb").each {|route| require route}
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            # app file
         
     | 
| 
       25 
     | 
    
         
            -
            require '<%= options.project_name %>'
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            # custom app logger different from sintra logging
         
     | 
| 
       28 
     | 
    
         
            -
            $APP_LOG = ::Logger.new("log/<%= options.project_name %>.log")
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
            # app name
         
     | 
| 
       31 
     | 
    
         
            -
            $APP_NAME = "<%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>"
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            class Sinatra::Base
         
     | 
| 
       34 
     | 
    
         
            -
              # helpers
         
     | 
| 
       35 
     | 
    
         
            -
              include DebugOn
         
     | 
| 
       36 
     | 
    
         
            -
              
         
     | 
| 
       37 
     | 
    
         
            -
              # set sinatra's variables
         
     | 
| 
       38 
     | 
    
         
            -
              set     :root, File.dirname(__FILE__)
         
     | 
| 
       39 
     | 
    
         
            -
              set     :environment, :production
         
     | 
| 
       40 
     | 
    
         
            -
              enable  :sessions, :logging, :dump_errors, :show_exceptions
         
     | 
| 
       41 
     | 
    
         
            -
              disable :run, :reload
         
     | 
| 
       42 
     | 
    
         
            -
            end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            # app routes
         
     | 
| 
       45 
     | 
    
         
            -
            App = Rack::Builder.app do
         
     | 
| 
       46 
     | 
    
         
            -
              # routes
         
     | 
| 
       47 
     | 
    
         
            -
              # use Cms
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
              run <%= options.project_name.gsub(/(?:^|_)(.)/) { $1.upcase } %>
         
     | 
| 
       50 
     | 
    
         
            -
            end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
            # finally
         
     | 
| 
       53 
     | 
    
         
            -
            run App
         
     | 
| 
         @@ -1,8 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'mysql2'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'active_record'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            config = YAML.load_file('database.yml')
         
     | 
| 
       5 
     | 
    
         
            -
            ActiveRecord::Base.establish_connection(config["production"])
         
     | 
| 
       6 
     | 
    
         
            -
            ActiveRecord::Base.include_root_in_json = false
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            Dir.glob("<%= project_absolute_dir %>/models/*.rb").each {|model| require model}
         
     | 
| 
         @@ -1,38 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module DebugOn
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              def debug_on
         
     | 
| 
       4 
     | 
    
         
            -
                logger.info("===== START =====> #{Time.now.strftime("%d/%m/%Y %H:%M %p")}")
         
     | 
| 
       5 
     | 
    
         
            -
                logger.info(request.url)
         
     | 
| 
       6 
     | 
    
         
            -
                logger.info("Params:")
         
     | 
| 
       7 
     | 
    
         
            -
                params.each do |key, value|
         
     | 
| 
       8 
     | 
    
         
            -
                  logger.info("#{key} => #{value}")
         
     | 
| 
       9 
     | 
    
         
            -
                end
         
     | 
| 
       10 
     | 
    
         
            -
              end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
              def app_debug_on
         
     | 
| 
       13 
     | 
    
         
            -
                $APP_LOG.info("===== START =====> #{Time.now.strftime("%d/%m/%Y %H:%M %p")}")
         
     | 
| 
       14 
     | 
    
         
            -
                $APP_LOG.info(request.url)
         
     | 
| 
       15 
     | 
    
         
            -
                $APP_LOG.info("Params:")
         
     | 
| 
       16 
     | 
    
         
            -
                params.each do |key, value|
         
     | 
| 
       17 
     | 
    
         
            -
                  $APP_LOG.info("#{key} => #{value}")
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
              
         
     | 
| 
       21 
     | 
    
         
            -
              def app_logger(text)
         
     | 
| 
       22 
     | 
    
         
            -
                $APP_LOG.info(text)
         
     | 
| 
       23 
     | 
    
         
            -
              end
         
     | 
| 
       24 
     | 
    
         
            -
              
         
     | 
| 
       25 
     | 
    
         
            -
              # Basic Authentication
         
     | 
| 
       26 
     | 
    
         
            -
              def protected!
         
     | 
| 
       27 
     | 
    
         
            -
                unless authorized?
         
     | 
| 
       28 
     | 
    
         
            -
                  response['WWW-Authenticate'] = %(Basic realm="Restricted Area")
         
     | 
| 
       29 
     | 
    
         
            -
                  throw(:halt, [401, "Not authorized\n"])
         
     | 
| 
       30 
     | 
    
         
            -
                end 
         
     | 
| 
       31 
     | 
    
         
            -
              end 
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
              def authorized?
         
     | 
| 
       34 
     | 
    
         
            -
                @auth ||=  Rack::Auth::Basic::Request.new(request.env)
         
     | 
| 
       35 
     | 
    
         
            -
                @auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == ['admin', 'dindidocs']
         
     | 
| 
       36 
     | 
    
         
            -
              end  
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
            end
         
     |