Module: AppQuery::RSpec::Helpers::ClassMethods
- Included in:
- AppQuery::RSpec::Helpers
- Defined in:
- lib/app_query/rspec/helpers.rb
Instance Method Summary collapse
- #cte_name ⇒ Object
- #default_binds ⇒ Object
- #described_query ⇒ Object
- #descriptions ⇒ Object
- #included(klass) ⇒ Object
- #metadatas ⇒ Object
- #query_name ⇒ Object
Instance Method Details
#cte_name ⇒ Object
67 68 69 |
# File 'lib/app_query/rspec/helpers.rb', line 67 def cte_name descriptions.find { _1[/cte\s/i] }&.then { _1.split.last } end |
#default_binds ⇒ Object
71 72 73 |
# File 'lib/app_query/rspec/helpers.rb', line 71 def default_binds .find { _1[:default_binds] }&.[](:default_binds) || [] end |
#described_query ⇒ Object
43 44 45 |
# File 'lib/app_query/rspec/helpers.rb', line 43 def described_query AppQuery[query_name] end |
#descriptions ⇒ Object
59 60 61 |
# File 'lib/app_query/rspec/helpers.rb', line 59 def descriptions .map { _1[:description] } end |
#included(klass) ⇒ Object
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/app_query/rspec/helpers.rb', line 75 def included(klass) super # Inject classmethods into the group. klass.extend(ClassMethods) # If the describe block is aimed at string or resource/provider class # then set the default subject to be the Chef run. # if klass.described_class.nil? || klass.described_class.is_a?(Class) && (klass.described_class < Chef::Resource || klass.described_class < Chef::Provider) # klass.subject { chef_run } # end end |
#metadatas ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/app_query/rspec/helpers.rb', line 47 def scope = is_a?(Class) ? self : self.class = scope. result = [] loop do result << = [:parent_example_group] break unless end result end |
#query_name ⇒ Object
63 64 65 |
# File 'lib/app_query/rspec/helpers.rb', line 63 def query_name descriptions.find { _1[/(app)?query\s/i] }&.then { _1.split.last } end |