Sha256: 0746d74feae4cfdc3482ad7a5fdd0c867c125e439e7709c9356fb71381a8f5cc
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
module PraxisGen class Example < Thor include Thor::Actions namespace "praxis:example" def self.source_root File.dirname(__FILE__) + "/templates/generator/example_app" end argument :app_name, required: true desc "example", "Generates a new example application under an <app_name> directory to showcase some features" def example sanitized = app_name.downcase.gsub(/[^a-z0-9_\-.]/, '') puts "APP_NAME: #{app_name}" raise "Please use only letters, numbers, underscores, dashes or periods for the app name" unless sanitized == app_name # Copy example files root_files = ['Gemfile','config.ru','Rakefile'] root_files.each do |file| copy_file file, verbose: true end # Copy example directories root_dirs = ['app','config','design','db','spec'] root_dirs.each do |dir| directory dir, recursive: true end puts puts "To run the example application:" puts puts " cd #{app_name}" puts " bundle" puts " bundle exec rake db:create db:migrate db:seed # To create/migrate/seed the dev DB" puts " bundle exec rackup # To start the web server" puts puts "From another terminal/app, use curl (or your favorite HTTP client) to retrieve data from the API" puts " For example: " puts " Get all users without filters or limit, and display only uid, and last_name fields" puts " curl -H 'X-Api-Version: 1' http://localhost:9292/users?fields=uid,last_name" puts puts " Get the last 5 users, ordered by last_name (descending), and display only uid, and last_name fields" puts " curl -H 'X-Api-Version: 1' 'http://localhost:9292/users?fields=uid,last_name&order=-last_name&pagination=by%3Dlast_name,items%3D5' " puts " (Note: To list all routes use: bundle exec rake praxis:routes)" puts nil end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
praxis-2.0.pre.10 | tasks/thor/example.rb |