fedux_org-stdlib 0.3.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.simplecov +7 -6
  4. data/Gemfile +33 -28
  5. data/README.md +1 -1
  6. data/Rakefile +8 -1
  7. data/doc/colors.md +2 -2
  8. data/doc/commands.md +2 -2
  9. data/doc/logic_converters.md +5 -5
  10. data/doc/models.md +5 -5
  11. data/fedux_org-stdlib.gemspec +3 -7
  12. data/lib/fedux_org_stdlib.rb +13 -0
  13. data/lib/fedux_org_stdlib/app_config.rb +247 -0
  14. data/lib/fedux_org_stdlib/ci.rb +6 -0
  15. data/lib/fedux_org_stdlib/colors/html_color.rb +18 -0
  16. data/lib/fedux_org_stdlib/command.rb +10 -0
  17. data/lib/fedux_org_stdlib/command/command_result.rb +13 -0
  18. data/lib/fedux_org_stdlib/command/run_command.rb +55 -0
  19. data/lib/fedux_org_stdlib/command/which.rb +60 -0
  20. data/lib/fedux_org_stdlib/core_ext/array.rb +6 -0
  21. data/lib/fedux_org_stdlib/core_ext/string.rb +3 -0
  22. data/lib/fedux_org_stdlib/environment.rb +32 -0
  23. data/lib/fedux_org_stdlib/filesystem.rb +248 -0
  24. data/lib/fedux_org_stdlib/filesystem/exceptions.rb +12 -0
  25. data/lib/fedux_org_stdlib/logging.rb +12 -0
  26. data/lib/fedux_org_stdlib/logging/logger.rb +79 -0
  27. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logging/severity.rb +1 -0
  28. data/lib/fedux_org_stdlib/logic_converters.rb +11 -0
  29. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logic_converters/exceptions.rb +1 -0
  30. data/lib/fedux_org_stdlib/logic_converters/logic_converter.rb +39 -0
  31. data/lib/fedux_org_stdlib/logic_converters/on_off_converter.rb +35 -0
  32. data/lib/fedux_org_stdlib/logic_converters/true_false_converter.rb +34 -0
  33. data/lib/fedux_org_stdlib/logic_converters/y_n_converter.rb +34 -0
  34. data/lib/fedux_org_stdlib/logic_converters/yes_no_converter.rb +34 -0
  35. data/lib/fedux_org_stdlib/models.rb +5 -0
  36. data/lib/fedux_org_stdlib/models/base_model.rb +129 -0
  37. data/lib/fedux_org_stdlib/models/class_based_model.rb +67 -0
  38. data/lib/fedux_org_stdlib/models/exceptions.rb +40 -0
  39. data/lib/fedux_org_stdlib/models/filesystem_based_model.rb +98 -0
  40. data/lib/fedux_org_stdlib/project.rb +6 -0
  41. data/lib/fedux_org_stdlib/project/generators/taskjuggler.rb +35 -0
  42. data/lib/fedux_org_stdlib/project/logger.rb +12 -0
  43. data/lib/fedux_org_stdlib/project/plan.rb +26 -0
  44. data/lib/fedux_org_stdlib/project/report.rb +63 -0
  45. data/lib/fedux_org_stdlib/rake.rb +8 -0
  46. data/lib/fedux_org_stdlib/rake/exceptions.rb +9 -0
  47. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/rake/project.rb +4 -4
  48. data/lib/fedux_org_stdlib/rake/project_task.rb +29 -0
  49. data/lib/fedux_org_stdlib/rake/shell_task.rb +45 -0
  50. data/lib/fedux_org_stdlib/rake/sub_task.rb +26 -0
  51. data/lib/fedux_org_stdlib/rake/task.rb +118 -0
  52. data/lib/fedux_org_stdlib/rake/version_bump_task.rb +56 -0
  53. data/lib/fedux_org_stdlib/rake_tasks.rb +8 -0
  54. data/lib/fedux_org_stdlib/rake_tasks/console.rb +11 -0
  55. data/lib/fedux_org_stdlib/rake_tasks/documentation.rb +2 -0
  56. data/lib/fedux_org_stdlib/rake_tasks/documentation/yard.rb +9 -0
  57. data/lib/fedux_org_stdlib/rake_tasks/gems.rb +3 -0
  58. data/lib/fedux_org_stdlib/rake_tasks/gems/bundler.rb +9 -0
  59. data/lib/fedux_org_stdlib/rake_tasks/gems/package.rb +9 -0
  60. data/lib/fedux_org_stdlib/rake_tasks/project.rb +1 -0
  61. data/lib/fedux_org_stdlib/rake_tasks/project/report.rb +3 -0
  62. data/lib/fedux_org_stdlib/rake_tasks/project/report/generate.rb +10 -0
  63. data/lib/fedux_org_stdlib/rake_tasks/project/report/open.rb +12 -0
  64. data/lib/fedux_org_stdlib/rake_tasks/project/report/open_shortcut.rb +9 -0
  65. data/lib/fedux_org_stdlib/rake_tasks/qa.rb +4 -0
  66. data/lib/fedux_org_stdlib/rake_tasks/qa/rubocop.rb +13 -0
  67. data/lib/fedux_org_stdlib/rake_tasks/qa/travis.rb +13 -0
  68. data/lib/fedux_org_stdlib/rake_tasks/terminal.rb +9 -0
  69. data/lib/fedux_org_stdlib/rake_tasks/tests.rb +4 -0
  70. data/lib/fedux_org_stdlib/rake_tasks/tests/cucumber.rb +13 -0
  71. data/lib/fedux_org_stdlib/rake_tasks/tests/rspec.rb +12 -0
  72. data/lib/fedux_org_stdlib/rake_tasks/tests/travis.rb +11 -0
  73. data/lib/fedux_org_stdlib/rake_tasks/version.rb +6 -0
  74. data/lib/fedux_org_stdlib/rake_tasks/version/bump.rb +8 -0
  75. data/lib/fedux_org_stdlib/rake_tasks/version/restore.rb +11 -0
  76. data/lib/fedux_org_stdlib/rake_tasks/version/show.rb +12 -0
  77. data/lib/fedux_org_stdlib/rake_tasks/version/show_shortcut.rb +9 -0
  78. data/lib/fedux_org_stdlib/require_files.rb +27 -0
  79. data/lib/fedux_org_stdlib/version.rb +5 -0
  80. data/lib/fedux_org_stdlib/version_management/exceptions.rb +9 -0
  81. data/lib/fedux_org_stdlib/version_management/library_builder.rb +12 -0
  82. data/lib/fedux_org_stdlib/version_management/ruby_library.rb +13 -0
  83. data/lib/fedux_org_stdlib/version_management/rubygem_version_file.rb +78 -0
  84. data/lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb +22 -0
  85. data/lib/fedux_org_stdlib/version_management/version.rb +25 -0
  86. data/lib/fedux_org_stdlib/version_management/version_builder.rb +12 -0
  87. data/lib/fedux_org_stdlib/versionable.rb +18 -0
  88. data/rakefiles/default.rake +8 -1
  89. data/rakefiles/travis.rake +1 -1
  90. data/script/console +1 -1
  91. data/script/terminal +3 -2
  92. data/spec/app_config_spec.rb +7 -0
  93. data/spec/colors/html_color_spec.rb +7 -14
  94. data/spec/command/run_command_spec.rb +9 -10
  95. data/spec/command/which_spec.rb +8 -9
  96. data/spec/environment_spec.rb +12 -11
  97. data/spec/logger/logger_spec.rb +17 -16
  98. data/spec/logic_converters/on_off_converter_spec.rb +8 -7
  99. data/spec/logic_converters/true_false_converter_spec.rb +8 -7
  100. data/spec/logic_converters/y_n_converter_spec.rb +8 -7
  101. data/spec/logic_converters/yes_no_converter_spec.rb +8 -7
  102. data/spec/models/base_model_spec.rb +7 -7
  103. data/spec/models/class_based_model_spec.rb +37 -39
  104. data/spec/models/filesystem_based_model_spec.rb +24 -24
  105. data/spec/project/plan_spec.rb +6 -5
  106. data/spec/project/report_spec.rb +35 -29
  107. data/spec/project/taskjuggler_spec.rb +13 -12
  108. data/spec/spec_helper.rb +15 -38
  109. data/spec/support/environment.rb +16 -0
  110. data/spec/support/filesystem.rb +19 -0
  111. data/spec/support/reporting.rb +2 -0
  112. data/spec/support/rspec.rb +5 -0
  113. data/spec/support/string.rb +2 -0
  114. data/spec/version_management/library_builder_spec.rb +5 -4
  115. data/spec/version_management/ruby_library_spec.rb +5 -4
  116. data/spec/version_management/rubygem_version_file_parser_spec.rb +27 -16
  117. data/spec/version_management/rubygem_version_file_spec.rb +56 -54
  118. data/spec/version_management/version_builder_spec.rb +5 -4
  119. data/spec/version_management/version_spec.rb +16 -16
  120. metadata +104 -110
  121. data/lib/fedux_org/stdlib.rb +0 -15
  122. data/lib/fedux_org/stdlib/colors/html_color.rb +0 -19
  123. data/lib/fedux_org/stdlib/command.rb +0 -11
  124. data/lib/fedux_org/stdlib/command/command_result.rb +0 -14
  125. data/lib/fedux_org/stdlib/command/run_command.rb +0 -55
  126. data/lib/fedux_org/stdlib/command/which.rb +0 -67
  127. data/lib/fedux_org/stdlib/environment.rb +0 -31
  128. data/lib/fedux_org/stdlib/filesystem.rb +0 -247
  129. data/lib/fedux_org/stdlib/filesystem/exceptions.rb +0 -13
  130. data/lib/fedux_org/stdlib/logging.rb +0 -13
  131. data/lib/fedux_org/stdlib/logging/logger.rb +0 -79
  132. data/lib/fedux_org/stdlib/logic_converters.rb +0 -12
  133. data/lib/fedux_org/stdlib/logic_converters/logic_converter.rb +0 -40
  134. data/lib/fedux_org/stdlib/logic_converters/on_off_converter.rb +0 -36
  135. data/lib/fedux_org/stdlib/logic_converters/true_false_converter.rb +0 -35
  136. data/lib/fedux_org/stdlib/logic_converters/y_n_converter.rb +0 -35
  137. data/lib/fedux_org/stdlib/logic_converters/yes_no_converter.rb +0 -35
  138. data/lib/fedux_org/stdlib/models.rb +0 -4
  139. data/lib/fedux_org/stdlib/models/base_model.rb +0 -129
  140. data/lib/fedux_org/stdlib/models/class_based_model.rb +0 -76
  141. data/lib/fedux_org/stdlib/models/exceptions.rb +0 -41
  142. data/lib/fedux_org/stdlib/models/filesystem_based_model.rb +0 -99
  143. data/lib/fedux_org/stdlib/project.rb +0 -5
  144. data/lib/fedux_org/stdlib/project/generators/taskjuggler.rb +0 -41
  145. data/lib/fedux_org/stdlib/project/logger.rb +0 -13
  146. data/lib/fedux_org/stdlib/project/plan.rb +0 -15
  147. data/lib/fedux_org/stdlib/project/report.rb +0 -67
  148. data/lib/fedux_org/stdlib/rake.rb +0 -7
  149. data/lib/fedux_org/stdlib/rake/console.rb +0 -3
  150. data/lib/fedux_org/stdlib/rake/documentation.rb +0 -1
  151. data/lib/fedux_org/stdlib/rake/documentation/yard.rb +0 -14
  152. data/lib/fedux_org/stdlib/rake/gems.rb +0 -2
  153. data/lib/fedux_org/stdlib/rake/gems/bundler.rb +0 -12
  154. data/lib/fedux_org/stdlib/rake/gems/package.rb +0 -7
  155. data/lib/fedux_org/stdlib/rake/library.rb +0 -8
  156. data/lib/fedux_org/stdlib/rake/terminal.rb +0 -9
  157. data/lib/fedux_org/stdlib/rake/tests.rb +0 -3
  158. data/lib/fedux_org/stdlib/rake/tests/cucumber.rb +0 -6
  159. data/lib/fedux_org/stdlib/rake/tests/rspec.rb +0 -6
  160. data/lib/fedux_org/stdlib/rake/tests/travis.rb +0 -15
  161. data/lib/fedux_org/stdlib/rake/travis.rb +0 -1
  162. data/lib/fedux_org/stdlib/rake/travis/lint.rb +0 -10
  163. data/lib/fedux_org/stdlib/rake/version.rb +0 -4
  164. data/lib/fedux_org/stdlib/rake/version/base.rb +0 -7
  165. data/lib/fedux_org/stdlib/rake/version/bump.rb +0 -78
  166. data/lib/fedux_org/stdlib/rake/version/restore.rb +0 -9
  167. data/lib/fedux_org/stdlib/rake/version/show.rb +0 -9
  168. data/lib/fedux_org/stdlib/rake/version/show_shortcut.rb +0 -6
  169. data/lib/fedux_org/stdlib/version.rb +0 -6
  170. data/lib/fedux_org/stdlib/version_management/library_builder.rb +0 -15
  171. data/lib/fedux_org/stdlib/version_management/ruby_library.rb +0 -14
  172. data/lib/fedux_org/stdlib/version_management/rubygem_version_file.rb +0 -90
  173. data/lib/fedux_org/stdlib/version_management/rubygem_version_file_parser.rb +0 -18
  174. data/lib/fedux_org/stdlib/version_management/version.rb +0 -33
  175. data/lib/fedux_org/stdlib/version_management/version_builder.rb +0 -15
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/task'
3
+
4
+ module FeduxOrgStdlib
5
+ module Rake
6
+ # Sub Task
7
+ #
8
+ # @see Rakefile
9
+ class SubTask < Task
10
+ # @!attribute [r] command
11
+ # The command to be executed
12
+ attr_reader :sub_tasks
13
+
14
+ def initialize(sub_tasks:, **args)
15
+ super(**args)
16
+
17
+ @sub_tasks = Array(sub_tasks)
18
+ end
19
+
20
+ # @private
21
+ def run_task(verbose)
22
+ sub_tasks.each { |t| ::Rake::Task[t].invoke }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,118 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require_library %w{ json rake rake/tasklib shellwords active_support/core_ext/object/blank active_support/core_ext/string/inflections}
4
+
5
+ require 'fedux_org_stdlib/rake/exceptions'
6
+ require 'fedux_org_stdlib/logging/logger'
7
+
8
+ module FeduxOrgStdlib
9
+ module Rake
10
+ # Rake Task
11
+ #
12
+ # @see Rakefile
13
+ class Task < ::Rake::TaskLib
14
+ include ::Rake::DSL if defined?(::Rake::DSL)
15
+
16
+ # @!attribute [r] name
17
+ # Name of task.
18
+ attr_reader :name
19
+
20
+ # @!attribute [r] description
21
+ # A description for the task
22
+ attr_reader :description
23
+
24
+ # @!attribute [r] verbose (true)
25
+ # Use verbose output. If this is set to true, the task will print the
26
+ # executed spec command to stdout.
27
+ attr_reader :verbose
28
+
29
+ private
30
+
31
+ attr_reader :task_arguments, :task_block, :logger, :working_directory
32
+
33
+ # Create task instance
34
+ def initialize(description:, name: self.class.to_s.split(/::/).slice(-2..-1).join(':').gsub(/Task$/, '').underscore, arguments: [], define_in_ci_mode: true, activate_ci_mode: false, dependencies: [], &task_block)
35
+ before_initialize
36
+
37
+ @description = description
38
+ @task_arguments = Array(arguments)
39
+ @task_block = task_block
40
+ @logger = FeduxOrgStdlib::Logging::Logger.new
41
+ @working_directory = Dir.getwd
42
+ @activate_ci_mode = activate_ci_mode
43
+
44
+ if dependencies.blank?
45
+ @name = name
46
+ else
47
+ @name = {
48
+ name: Array(dependencies).map(&:to_sym)
49
+ }
50
+ end
51
+
52
+ after_initialize
53
+
54
+ define_task unless running_in_ci_mode?
55
+ define_task if define_in_ci_mode? and running_in_ci_mode?
56
+
57
+ activate_ci_mode if activate_ci_mode?
58
+ end
59
+
60
+ private
61
+
62
+ # Activate ci mode
63
+ def activate_ci_mode
64
+ ENV['CI'] = 'true'
65
+ end
66
+
67
+ # Run code after initialize
68
+ def after_initialize; end
69
+
70
+ # Run code before initialize
71
+ def before_initialize; end
72
+
73
+ # Define task
74
+ def define_task
75
+ desc description unless ::Rake.application.last_comment
76
+
77
+ task name, *task_arguments do |_, task_args|
78
+ RakeFileUtils.__send__(:verbose, verbose) do
79
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block.respond_to? :call
80
+ run_task verbose
81
+ end
82
+ end
83
+ end
84
+
85
+ # Run code if task is executed
86
+ def run_task(verbose); end
87
+
88
+ # Should this task be defined in continous integration mode
89
+ def define_in_ci_mode?
90
+ @define_in_ci_mode == true
91
+ end
92
+
93
+ # Check if running in continous integration mode
94
+ def running_in_ci_mode?
95
+ ENV.key? 'CI'
96
+ end
97
+
98
+ # Check if continous integration mode is activated
99
+ def activate_ci_mode?
100
+ @activate_ci_mode == true
101
+ end
102
+
103
+ public
104
+
105
+ # Binding to instance
106
+ def get_binding
107
+ binding
108
+ end
109
+
110
+ # Include module in instance
111
+ def include(modules)
112
+ modules = Array(modules)
113
+
114
+ modules.each { |m| self.class.include m }
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,56 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/version_management/rubygem_version_file'
3
+ require 'fedux_org_stdlib/versionable'
4
+
5
+ module FeduxOrgStdlib
6
+ module Rake
7
+ # Version Bump Task
8
+ #
9
+ # @see Rakefile
10
+ class VersionBumpTask < Task
11
+ include Versionable
12
+
13
+ # @private
14
+ def bump_version(type)
15
+ version_update do |file|
16
+ file.bump(type)
17
+ end
18
+ end
19
+
20
+ # @private
21
+ def set_version(new_version)
22
+ raise Exception, "You need to define a version via \"VERSION=<version>\" or \"version=<version>\"." if new_version.blank?
23
+
24
+ begin
25
+ version_update do |file|
26
+ file.version = new_version
27
+ end
28
+ rescue StandardError => e
29
+ logger.fatal("Nothing has changed since your last commit or has been added to the index. Therefor nothing needs to be commited: #{e.message}.")
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def add_to_repo(file, version)
36
+ logger.info('Adding new version file to repository.')
37
+
38
+ sh "git add #{file}"
39
+ sh "git commit -m 'Version bump to #{version}'"
40
+ end
41
+
42
+
43
+ def version_update(&block)
44
+ file = FeduxOrgStdlib::VersionManagement::RubygemVersionFile.read(version_file)
45
+ old_version = file.version
46
+ block.call(file)
47
+ new_version = file.version
48
+
49
+ file.write(version_file)
50
+
51
+ logger.info("Updated version. It was \"#{old_version}\". It is now \"#{new_version}\".")
52
+ add_to_repo(version_file, file.version)
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/version'
3
+ require 'fedux_org_stdlib/rake_tasks/documentation'
4
+ require 'fedux_org_stdlib/rake_tasks/console'
5
+ require 'fedux_org_stdlib/rake_tasks/terminal'
6
+ require 'fedux_org_stdlib/rake_tasks/qa'
7
+ require 'fedux_org_stdlib/rake_tasks/gems'
8
+ require 'fedux_org_stdlib/rake_tasks/project'
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ FeduxOrgStdlib::Rake::ShellTask.new(
5
+ name: 'console',
6
+ description: 'Start console with library loaded in advance',
7
+ use_bundler: true,
8
+ command: 'script/console',
9
+ define_in_ci_mode: false
10
+ )
11
+
@@ -0,0 +1,2 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/documentation/yard'
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/ci'
3
+
4
+ unless ci?
5
+ require 'fedux_org_stdlib/require_files'
6
+ require_library %w{ yard }
7
+
8
+ YARD::Rake::YardocTask.new()
9
+ end
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/gems/bundler'
3
+ require 'fedux_org_stdlib/rake_tasks/gems/package'
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require 'fedux_org_stdlib/ci'
4
+
5
+ unless ci?
6
+ namespace :gem do
7
+ require_library %w{ bundler/gem_tasks }
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require 'fedux_org_stdlib/ci'
4
+
5
+ unless ci?
6
+ namespace :gem do
7
+ require_library %w{ rubygems/package_task }
8
+ end
9
+ end
@@ -0,0 +1 @@
1
+ require 'fedux_org_stdlib/rake_tasks/project/report'
@@ -0,0 +1,3 @@
1
+ require 'fedux_org_stdlib/rake_tasks/project/report/open'
2
+ require 'fedux_org_stdlib/rake_tasks/project/report/open_shortcut'
3
+ require 'fedux_org_stdlib/rake_tasks/project/report/generate'
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/project_task'
3
+
4
+ FeduxOrgStdlib::Rake::ProjectTask.new(
5
+ name: 'project:report:generate',
6
+ description: 'Generate report for project plan',
7
+ ) do |t|
8
+ t.report.generate
9
+ end
10
+
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/project_task'
3
+
4
+ FeduxOrgStdlib::Rake::ProjectTask.new(
5
+ name: 'project:report:open',
6
+ description: 'Open generated report for project plan',
7
+ ) do |t|
8
+ require 'pry'
9
+ binding.pry
10
+ t.report.open
11
+ end
12
+
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/sub_task'
3
+ require 'fedux_org_stdlib/rake_tasks/project/report/open'
4
+
5
+ FeduxOrgStdlib::Rake::SubTask.new(
6
+ name: 'project:report',
7
+ description: 'Open report for generated project plan',
8
+ sub_tasks: %w{ project:report:open },
9
+ )
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake_tasks/qa/travis'
4
+ require 'fedux_org_stdlib/rake_tasks/qa/rubocop'
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('rubocop')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'qa:rubocop',
9
+ description: 'Run rubocop',
10
+ use_bundler: true,
11
+ command: 'rubocop',
12
+ define_in_ci_mode: false,
13
+ )
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('travis-lint')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'qa:travis',
9
+ description: 'Runs travis-lint to check .travis.yml',
10
+ use_bundler: true,
11
+ command: 'travis-lint',
12
+ define_in_ci_mode: false,
13
+ )
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ FeduxOrgStdlib::Rake::ShellTask.new(
5
+ name: 'terminal',
6
+ description: 'Start a terminal multiplexer like tmux',
7
+ use_bundler: true,
8
+ command: 'script/terminal'
9
+ )
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/tests/cucumber'
3
+ require 'fedux_org_stdlib/rake_tasks/tests/rspec'
4
+ require 'fedux_org_stdlib/rake_tasks/tests/travis'
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('cucumber')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'test:cucumber',
9
+ description: 'Run cucumber',
10
+ use_bundler: true,
11
+ command: 'cucumber -p all'
12
+ )
13
+
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('rspec')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'test:rspec',
9
+ description: 'Run rspec',
10
+ use_bundler: true,
11
+ command: 'rspec'
12
+ )
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/sub_task'
3
+ require 'fedux_org_stdlib/rake_tasks/test/rspec'
4
+ require 'fedux_org_stdlib/rake_tasks/test/cucumber'
5
+
6
+ FeduxOrgStdlib::Rake::SubTask.new(
7
+ name: 'test:travis',
8
+ description: 'Runs rspec and cucumber on travis',
9
+ sub_tasks: %w{ test:rspec test:cucumber },
10
+ activate_ci_mode: true
11
+ )
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake_tasks/version/show_shortcut'
4
+ require 'fedux_org_stdlib/rake_tasks/version/bump'
5
+ require 'fedux_org_stdlib/rake_tasks/version/show'
6
+ require 'fedux_org_stdlib/rake_tasks/version/restore'
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake/version_bump_task'
4
+
5
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:major', description: 'Bump major version part') { |t| t.bump_version :major }
6
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:minor', description: 'Bump minor version part') { |t| t.bump_version :minor }
7
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:tiny', description: 'Bump tiny version part') { |t| t.bump_version :tiny }
8
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump', description: 'Bump version to ENV["VERSION"] or ENV["version"]') { |t| t.set_version ENV['VERSION'] || ENV['version'] }
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/versionable'
4
+ require 'fedux_org_stdlib/rake/shell_task'
5
+
6
+ task = FeduxOrgStdlib::Rake::ShellTask.new(
7
+ name: 'version:restore',
8
+ description: 'Restore version file from repository',
9
+ command: "git checkout <%= version_file %>"
10
+ )
11
+ task.include FeduxOrgStdlib::Versionable
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/versionable'
3
+ require 'fedux_org_stdlib/rake/task'
4
+
5
+ task = FeduxOrgStdlib::Rake::Task.new(
6
+ name: 'version:show',
7
+ description: 'Show version'
8
+ ) do |t|
9
+ $stderr.puts FeduxOrgStdlib::VersionManagement::RubygemVersionFile.read(version_file).version
10
+ end
11
+ task.include FeduxOrgStdlib::Versionable
12
+