pry-rails 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/pry-rails/commands.rb +59 -14
- data/lib/pry-rails/version.rb +1 -1
- metadata +2 -2
data/lib/pry-rails/commands.rb
CHANGED
@@ -72,24 +72,69 @@ module PryRails
|
|
72
72
|
def process
|
73
73
|
Rails.application.eager_load!
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
75
|
+
if defined?(ActiveRecord::Base)
|
76
|
+
models = ActiveRecord::Base.descendants.map do |mod|
|
77
|
+
model_string = mod.to_s + "\n"
|
78
|
+
if mod.table_exists?
|
79
|
+
model_string << mod.columns.map { |col| " #{col.name}: #{col.type.to_s}" }.join("\n")
|
80
|
+
else
|
81
|
+
model_string << " Table doesn't exist"
|
82
|
+
end
|
83
|
+
mod.reflections.each do |model,ref|
|
84
|
+
model_string << "\n #{ref.macro.to_s} #{model}"
|
85
|
+
model_string << " through #{ref.options[:through]}" unless ref.options[:through].nil?
|
86
|
+
end
|
87
|
+
model_string
|
88
|
+
end.join("\n")
|
89
|
+
elsif defined?(Mongoid::Document)
|
90
|
+
models = get_files.map do |path|
|
91
|
+
mod = extract_class_name(path)
|
92
|
+
model_string = "\033[1;34m#{mod.to_s}\033[0m\n"
|
93
|
+
begin
|
94
|
+
if mod.constantize.included_modules.include?(Mongoid::Document)
|
95
|
+
model_string << mod.constantize.fields.values.sort_by(&:name).map { |col|
|
96
|
+
" #{col.name}: \033[1;33m#{col.options[:type].to_s.downcase}\033[0m"
|
97
|
+
}.join("\n")
|
98
|
+
mod.constantize.relations.each do |model,ref|
|
99
|
+
model_string << "\n #{kind_of_relation(ref.relation.to_s)} \033[1;34m#{model}\033[0m"
|
100
|
+
model_string << ", autosave" if ref.options[:autosave]
|
101
|
+
model_string << ", autobuild" if ref.options[:autobuild]
|
102
|
+
model_string << ", validate" if ref.options[:validate]
|
103
|
+
model_string << ", dependent-#{ref.options[:dependent]}" if ref.options[:dependent]
|
104
|
+
end
|
105
|
+
else
|
106
|
+
model_string << " Collection doesn't exist"
|
107
|
+
end
|
108
|
+
model_string
|
109
|
+
|
110
|
+
rescue Exception
|
111
|
+
STDERR.puts "Warning: exception #{$!} raised while trying to load model class #{path}"
|
112
|
+
end
|
113
|
+
end.join("\n")
|
114
|
+
end
|
88
115
|
|
89
116
|
models.gsub!(Regexp.new(opts[:G] || ".", Regexp::IGNORECASE)) { |s| text.red(s) } unless opts[:G].nil?
|
90
|
-
|
91
117
|
output.puts models
|
92
118
|
end
|
119
|
+
|
120
|
+
def get_files(prefix ='')
|
121
|
+
Dir.glob(prefix << "app/models/**/*.rb")
|
122
|
+
end
|
123
|
+
|
124
|
+
def extract_class_name(filename)
|
125
|
+
filename.split('/')[2..-1].collect { |i| i.camelize }.join('::').chomp(".rb")
|
126
|
+
end
|
127
|
+
|
128
|
+
def kind_of_relation(string)
|
129
|
+
case string.gsub('Mongoid::Relations::', '')
|
130
|
+
when 'Referenced::Many' then 'has_many'
|
131
|
+
when 'Referenced::One' then 'has_one'
|
132
|
+
when 'Referenced::In' then 'belongs_to'
|
133
|
+
when 'Embedded::Many' then 'embeds_many'
|
134
|
+
when 'Embedded::One' then 'embeds_one'
|
135
|
+
when 'Embedded::In' then 'embedded_in'
|
136
|
+
end
|
137
|
+
end
|
93
138
|
end
|
94
139
|
|
95
140
|
create_command "show-middleware" do
|
data/lib/pry-rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|