module RSpec::AdvancedSubject::Core

Public Class Methods

when_initialized_with(*args, example_groups, &example_group_block) click to toggle source
# File lib/rspec-advanced_subject/when_passed.rb, line 19
def self.when_initialized_with(*args, example_groups, &example_group_block)
  example_groups.context(initialization_describe_string(*args), initialization_args: args, &example_group_block)
end
when_passed(*args, example_groups, &example_group_block) click to toggle source
# File lib/rspec-advanced_subject/when_passed.rb, line 15
def self.when_passed(*args, example_groups, &example_group_block)
  example_groups.context(method_describe_string(*args), with_args: args, &example_group_block)
end

Private Class Methods

argument_joiner(args) click to toggle source
# File lib/rspec-advanced_subject/when_passed.rb, line 33
def self.argument_joiner(args)
  if args.empty?
    "nothing"
  else
    args.map(&:inspect).join(", ")
  end
end
initialization_describe_string(*args) click to toggle source
# File lib/rspec-advanced_subject/when_passed.rb, line 29
def self.initialization_describe_string(*args)
  "when passed #{argument_joiner(args)}"
end
method_describe_string(*args) click to toggle source
# File lib/rspec-advanced_subject/when_passed.rb, line 25
def self.method_describe_string(*args)
  "when passed #{argument_joiner(args)}"
end