class Webvalve::Generators::FakeServiceGenerator

Public Instance Methods

create_webvalve_fake_service_file() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 10
def create_webvalve_fake_service_file
  require_config!
  create_fake_service_file
  register_fake_in_config
end

Private Instance Methods

config_file_path() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 49
def config_file_path
  "config/webvalve.rb"
end
create_fake_service_file() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 18
      def create_fake_service_file
        create_file full_file_path, <<-FILE.strip_heredoc
          class #{fake_service_class_name} < WebValve::FakeService
            # # define your routes here
            #
            # get '/widgets' do
            #   json result: 'it works!'
            # end
            #
            # # set the base url for this API via ENV
            #
            # export #{parsed_service_name.upcase}_API_URL='http://whatever.dev'
            #
            # # toggle this service on via ENV
            #
            # export #{parsed_service_name.upcase}_ENABLED=true
          end
        FILE
      end
fake_service_class_name() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 57
def fake_service_class_name
  fake_service_filename.camelize
end
fake_service_filename() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 61
def fake_service_filename
  "fake_#{parsed_service_name.underscore}"
end
full_file_path() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 53
def full_file_path
  "webvalve/#{fake_service_filename}.rb"
end
parsed_service_name() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 65
def parsed_service_name
  service_name.sub(/fake/i, '')
end
register_fake_in_config() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 38
      def register_fake_in_config
        append_to_file config_file_path do <<~RUBY
          WebValve.register "#{fake_service_class_name}"
        RUBY
        end
      end
require_config!() click to toggle source
# File lib/generators/webvalve/fake_service_generator.rb, line 45
def require_config!
  raise 'No WebValve configuration file found. Please run `rails generate webvalve:install` first' unless File.exists?(config_file_path)
end