2019-07-30 21:29:24 +00:00
# frozen_string_literal: true
2018-08-08 21:31:42 +00:00
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
require 'rails/generators'
2018-05-21 20:03:46 +00:00
class Api :: ResourceGenerator < Rails :: Generators :: NamedBase
2019-07-30 21:29:24 +00:00
source_root File . expand_path ( 'templates' , __dir__ )
2018-05-21 20:03:46 +00:00
def copy_to_resource
2019-07-30 21:29:24 +00:00
template 'resource.rb.erb' , File . join ( 'app/api/houdini/v1' , " #{ name . underscore } .rb " )
2018-05-21 20:03:46 +00:00
end
2018-08-25 20:59:03 +00:00
def copy_to_spec
2019-07-30 21:29:24 +00:00
template 'spec.rb.erb' , File . join ( 'spec/api/houdini/' , " #{ name . underscore } _spec.rb " )
2018-08-25 20:59:03 +00:00
end
2018-05-21 20:03:46 +00:00
def add_to_root_api
2019-07-30 21:29:24 +00:00
inject_into_file 'app/api/houdini/v1/api.rb' , " mount Houdini::V1:: #{ name . camelcase } => \" / #{ name . underscore } \" \n " , before : '# Additional mounts are added via generators above this line'
2018-05-21 20:03:46 +00:00
end
end