Module: Prato
- Extended by:
- Prato
- Included in:
- Prato
- Defined in:
- lib/prato/internal/join_helper_legacy.rb,
lib/prato.rb,
lib/prato/table.rb,
lib/prato/version.rb,
lib/prato/query/sort.rb,
lib/prato/query/filter.rb,
lib/prato/configuration.rb,
lib/prato/table_builder.rb,
lib/prato/query/or_filter.rb,
lib/prato/query/and_filter.rb,
lib/prato/query/parameters.rb,
lib/prato/types/ruby_column.rb,
lib/prato/types/direct_column.rb,
lib/prato/internal/join_helper.rb,
lib/prato/internal/query_state.rb,
lib/prato/internal/sql_support.rb,
lib/prato/query/default_parser.rb,
lib/prato/query/field_resolver.rb,
lib/prato/internal/specification.rb,
lib/prato/types/aggregate_column.rb,
lib/prato/internal/query_executor.rb,
lib/prato/types/expression_column.rb,
lib/prato/types/association_column.rb,
lib/prato/internal/pipeline/sorting.rb,
lib/prato/internal/lazy_loader_cache.rb,
lib/prato/internal/pipeline/filtering.rb,
lib/prato/internal/pipeline/pagination.rb,
lib/prato/internal/pipeline/serializer.rb,
lib/prato/internal/active_record_version.rb,
lib/prato/internal/specification_builder.rb
Overview
Rails 5.0 and 5.1ºs joins work in a different way, so we need to handle them…manually
Defined Under Namespace
Modules: Internal, Query, Types Classes: Configuration, Table, TableBuilder
Constant Summary collapse
- VERSION =
'0.1.0'
Instance Method Summary collapse
Instance Method Details
#setup(&block) ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/prato.rb', line 59 def setup(&block) if block_given? Configuration.configure(&block) else Configuration.new end end |
#table(base_model, &block) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/prato.rb', line 47 def table(base_model, &block) raise ArgumentError, "Prato.table requires a block" unless block_given? raise ArgumentError, "Prato.table block must not accept arguments" unless block.parameters.empty? builder = TableBuilder.new builder.instance_exec(&block) spec = builder.spec_builder.build(base_model) Table.new(spec) end |