lib/azeroth/resourceable/class_methods.rb in azeroth-0.10.0 vs lib/azeroth/resourceable/class_methods.rb in azeroth-0.10.1
- old
+ new
@@ -12,139 +12,10 @@
# @param (see Resourceable.resource_for)
# @option (see Resourceable.resource_for)
# @return (see Resourceable.resource_for)
#
# @see (see Resourceable.resource_for)
- #
- # @example Controller without delete
- # class DocumentsController < ApplicationController
- # include Azeroth::Resourceable
- #
- # resource_for :document, except: :delete
- # end
- #
- # @example Controller with only create, show and list
- # class DocumentsController < ApplicationController
- # include Azeroth::Resourceable
- #
- # resource_for :document, only: %w[create index show]
- # end
- #
- # @example complete example gmaes and publishers
- # class PublishersController < ApplicationController
- # include Azeroth::Resourceable
- # skip_before_action :verify_authenticity_token
- #
- # resource_for :publisher, only: %i[create index]
- # end
- #
- # class GamesController < ApplicationController
- # include Azeroth::Resourceable
- # skip_before_action :verify_authenticity_token
- #
- # resource_for :game, except: :delete
- #
- # private
- #
- # def games
- # publisher.games
- # end
- #
- # def publisher
- # @publisher ||= Publisher.find(publisher_id)
- # end
- #
- # def publisher_id
- # params.require(:publisher_id)
- # end
- # end
- #
- # ActiveRecord::Schema.define do
- # self.verbose = false
- #
- # create_table :publishers, force: true do |t|
- # t.string :name
- # end
- #
- # create_table :games, force: true do |t|
- # t.string :name
- # t.integer :publisher_id
- # end
- # end
- #
- # class Publisher < ActiveRecord::Base
- # has_many :games
- # end
- #
- # class Game < ActiveRecord::Base
- # belongs_to :publisher
- # end
- #
- # class Game::Decorator < Azeroth::Decorator
- # expose :id
- # expose :name
- # expose :publisher, decorator: NameDecorator
- # end
- #
- # @example requesting games and publishers
- # post "/publishers.json", params: {
- # publisher: {
- # name: 'Nintendo'
- # }
- # }
- #
- # publisher = JSON.parse(response.body)
- # # returns
- # # {
- # # 'id' => 11,
- # # 'name' => 'Nintendo'
- # # }
- #
- # publisher = Publisher.last
- # post "/publishers/#{publisher['id']}/games.json", params: {
- # game: {
- # name: 'Pokemon'
- # }
- # }
- #
- # game = Game.last
- #
- # JSON.parse(response.body)
- # # returns
- # # {
- # # id: game.id,
- # # name: 'Pokemon',
- # # publisher: {
- # # name: 'Nintendo'
- # # }
- # }
- #
- # @example Controller with before_save
- # class PokemonsController < ApplicationController
- # include Azeroth::Resourceable
- #
- # resource_for :pokemon,
- # only: %i[create update],
- # before_save: :set_favorite
- #
- # private
- #
- # def set_favorite
- # pokemon.favorite = true
- # end
- #
- # def pokemons
- # master.pokemons
- # end
- #
- # def master
- # @master ||= PokemonMaster.find(master_id)
- # end
- #
- # def master_id
- # params.require(:pokemon_master_id)
- # end
- # end
+ # @example (see Resourceable.resource_for)
def resource_for(name, **options)
Builder.new(
self, name, Azeroth::Options.new(options)
).build
end