Class: Masamune::Transform::Postgres::DefineTable
- Inherits:
-
Object
- Object
- Masamune::Transform::Postgres::DefineTable
- Defined in:
- lib/masamune/transform/postgres/define_table.rb
Defined Under Namespace
Classes: TargetPresenter
Instance Method Summary collapse
- #define_foreign_keys? ⇒ Boolean
- #define_functions? ⇒ Boolean
- #define_indexes? ⇒ Boolean
- #define_inheritance? ⇒ Boolean
- #define_primary_keys? ⇒ Boolean
- #define_sequences? ⇒ Boolean
- #define_tables? ⇒ Boolean
- #define_types? ⇒ Boolean
- #define_unique_constraints? ⇒ Boolean
- #files ⇒ Object
-
#initialize(options = {}) ⇒ DefineTable
constructor
A new instance of DefineTable.
- #insert_rows? ⇒ Boolean
- #load_files? ⇒ Boolean
- #locals ⇒ Object
- #perform_analyze? ⇒ Boolean
- #section ⇒ Object
- #skip_indexes? ⇒ Boolean
- #target ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ DefineTable
Returns a new instance of DefineTable.
25 26 27 28 29 30 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 25 def initialize( = {}) @target = [:target] @files = [:files] || [] @section = [:section] @skip_indexes = [:skip_indexes] end |
Instance Method Details
#define_foreign_keys? ⇒ Boolean
86 87 88 89 90 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 86 def define_foreign_keys? return false if pre_section? return true if post_section? !target.delay_foreign_keys? end |
#define_functions? ⇒ Boolean
60 61 62 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 60 def define_functions? !post_section? end |
#define_indexes? ⇒ Boolean
79 80 81 82 83 84 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 79 def define_indexes? return false if pre_section? return false if skip_indexes? return true if post_section? !target.delay_indexes? end |
#define_inheritance? ⇒ Boolean
72 73 74 75 76 77 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 72 def define_inheritance? return false unless target.inherited? return false if pre_section? return true if post_section? !target.delay_indexes? end |
#define_primary_keys? ⇒ Boolean
68 69 70 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 68 def define_primary_keys? !pre_section? && !(target.temporary? || target.primary_keys.empty?) end |
#define_sequences? ⇒ Boolean
64 65 66 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 64 def define_sequences? !post_section? end |
#define_tables? ⇒ Boolean
56 57 58 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 56 def define_tables? !post_section? end |
#define_types? ⇒ Boolean
52 53 54 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 52 def define_types? !post_section? end |
#define_unique_constraints? ⇒ Boolean
92 93 94 95 96 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 92 def define_unique_constraints? return false if pre_section? return true if post_section? !target.delay_unique_constraints? end |
#files ⇒ Object
40 41 42 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 40 def files Masamune::Schema::Map.convert_files(@files) end |
#insert_rows? ⇒ Boolean
98 99 100 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 98 def insert_rows? !pre_section? && !post_section? end |
#load_files? ⇒ Boolean
102 103 104 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 102 def load_files? all_section? end |
#locals ⇒ Object
32 33 34 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 32 def locals { target: target, files: files, helper: self } end |
#perform_analyze? ⇒ Boolean
106 107 108 109 110 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 106 def perform_analyze? return false if pre_section? return true if post_section? files.any? || target.insert_rows.any? end |
#section ⇒ Object
44 45 46 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 44 def section @section || :all end |
#skip_indexes? ⇒ Boolean
48 49 50 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 48 def skip_indexes? @skip_indexes == true end |
#target ⇒ Object
36 37 38 |
# File 'lib/masamune/transform/postgres/define_table.rb', line 36 def target TargetPresenter.new(@target) end |