Module: FunWith::Gems::FunGemAPI

Defined in:
lib/fun_with/gems/fun_gem_api.rb

Overview

The API that gets added to a "gem module" by FunWithGems.make_gem_fun(*)

Instance Method Summary collapse

Instance Method Details

#gem_test_mode=(mode) ⇒ Object

I can't think of a compelling reason to go beyond true/false here



29
30
31
# File 'lib/fun_with/gems/fun_gem_api.rb', line 29

def gem_test_mode=( mode )
  @fwg_gem_test_mode = mode
end

#gem_test_mode?Boolean

Returns:

  • (Boolean)


23
24
25
26
# File 'lib/fun_with/gems/fun_gem_api.rb', line 23

def gem_test_mode?
  @fwg_gem_test_mode = false unless defined?( @fwg_gem_test_mode )
  @fwg_gem_test_mode
end

#gem_verbose=(mode) ⇒ Object



37
38
39
# File 'lib/fun_with/gems/fun_gem_api.rb', line 37

def gem_verbose=( mode )
  @fwg_gem_verbose = mode
end

#gem_verbose?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/fun_with/gems/fun_gem_api.rb', line 33

def gem_verbose?
  @fwg_gem_verbose || false      # rather return false than nil
end

#is_fun_gem?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/fun_with/gems/fun_gem_api.rb', line 5

def is_fun_gem?
  true
end

#load_external_tasksObject

Tasks in gem/lib/tasks will be usable by gems which have this gem as a dependency.



62
63
64
# File 'lib/fun_with/gems/fun_gem_api.rb', line 62

def load_external_tasks
  _load_tasks_from_directory self.root( "lib", "tasks" )
end

#load_internal_tasksObject

Tasks in gem/tasks should be those which are specific to the gem itself. Tasks located here will not be made available to gems which depend on it. Made accessible during the Rakefile.setup



57
58
59
# File 'lib/fun_with/gems/fun_gem_api.rb', line 57

def load_internal_tasks
  _load_tasks_from_directory self.root( "tasks" )
end

#load_tasksObject



49
50
51
52
# File 'lib/fun_with/gems/fun_gem_api.rb', line 49

def load_tasks
  load_internal_tasks
  load_external_tasks
end

#passes_tests?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/fun_with/gems/fun_gem_api.rb', line 19

def passes_tests?
  FunWith::Gems::Testing::TestSuiteRunner.new( self ).passes_tests?
end

#say_if_verbose(msg, stream = $stdout) ⇒ Object



41
42
43
# File 'lib/fun_with/gems/fun_gem_api.rb', line 41

def say_if_verbose( msg, stream = $stdout )
  stream.puts( msg ) if gem_verbose?
end

#setup_for_testingObject



45
46
47
# File 'lib/fun_with/gems/fun_gem_api.rb', line 45

def setup_for_testing
  FunWith::Gems::Testing::TestSetup.setup( self )
end

#valid_gem?Boolean

Returns:

  • (Boolean)


14
15
16
17
# File 'lib/fun_with/gems/fun_gem_api.rb', line 14

def valid_gem?
  errors = self.validate_gem
  errors.fwf_blank?
end

#validate_gemObject



9
10
11
12
# File 'lib/fun_with/gems/fun_gem_api.rb', line 9

def validate_gem
  errors = FunWith::Gems::Testing::Validator.validate self
  errors
end