roast-ai 0.4.3 → 0.4.5

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -0
  3. data/.github/workflows/ci.yaml +1 -0
  4. data/.gitignore +0 -26
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/CHANGELOG.md +29 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +47 -29
  10. data/bin/rubocop +27 -0
  11. data/bin/spoom +27 -0
  12. data/bin/srb +27 -0
  13. data/bin/srb-rbi +27 -0
  14. data/bin/tapioca +27 -0
  15. data/docs/INSTRUMENTATION.md +3 -3
  16. data/dsl/simple.rb +10 -0
  17. data/lib/roast/dsl/executor.rb +26 -0
  18. data/lib/roast/dsl.rb +7 -0
  19. data/lib/roast/errors.rb +1 -0
  20. data/lib/roast/factories/api_provider_factory.rb +1 -0
  21. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  22. data/lib/roast/helpers/logger.rb +6 -9
  23. data/lib/roast/helpers/metadata_access.rb +1 -0
  24. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  25. data/lib/roast/helpers/path_resolver.rb +8 -18
  26. data/lib/roast/helpers/prompt_loader.rb +3 -2
  27. data/lib/roast/helpers/timeout_handler.rb +3 -5
  28. data/lib/roast/initializers.rb +1 -0
  29. data/lib/roast/resources/api_resource.rb +4 -3
  30. data/lib/roast/resources/base_resource.rb +1 -0
  31. data/lib/roast/resources/directory_resource.rb +1 -0
  32. data/lib/roast/resources/file_resource.rb +1 -0
  33. data/lib/roast/resources/none_resource.rb +1 -0
  34. data/lib/roast/resources/url_resource.rb +2 -1
  35. data/lib/roast/resources.rb +1 -2
  36. data/lib/roast/services/context_threshold_checker.rb +1 -0
  37. data/lib/roast/services/token_counting_service.rb +1 -0
  38. data/lib/roast/tools/apply_diff.rb +1 -0
  39. data/lib/roast/tools/ask_user.rb +1 -0
  40. data/lib/roast/tools/bash.rb +1 -0
  41. data/lib/roast/tools/cmd.rb +1 -0
  42. data/lib/roast/tools/coding_agent.rb +1 -0
  43. data/lib/roast/tools/context_summarizer.rb +1 -0
  44. data/lib/roast/tools/grep.rb +1 -0
  45. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  46. data/lib/roast/tools/read_file.rb +1 -0
  47. data/lib/roast/tools/search_file.rb +1 -0
  48. data/lib/roast/tools/swarm.rb +1 -0
  49. data/lib/roast/tools/update_files.rb +1 -0
  50. data/lib/roast/tools/write_file.rb +1 -0
  51. data/lib/roast/tools.rb +2 -0
  52. data/lib/roast/value_objects/api_token.rb +1 -0
  53. data/lib/roast/value_objects/step_name.rb +1 -0
  54. data/lib/roast/value_objects/uri_base.rb +1 -0
  55. data/lib/roast/value_objects/workflow_path.rb +1 -0
  56. data/lib/roast/value_objects.rb +1 -0
  57. data/lib/roast/version.rb +2 -1
  58. data/lib/roast/workflow/agent_step.rb +1 -0
  59. data/lib/roast/workflow/api_configuration.rb +1 -0
  60. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  61. data/lib/roast/workflow/base_step.rb +1 -0
  62. data/lib/roast/workflow/base_workflow.rb +1 -0
  63. data/lib/roast/workflow/case_executor.rb +1 -0
  64. data/lib/roast/workflow/case_step.rb +1 -0
  65. data/lib/roast/workflow/command_executor.rb +1 -0
  66. data/lib/roast/workflow/conditional_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_step.rb +1 -0
  68. data/lib/roast/workflow/configuration.rb +9 -0
  69. data/lib/roast/workflow/configuration_loader.rb +4 -1
  70. data/lib/roast/workflow/context_manager.rb +1 -0
  71. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  72. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  73. data/lib/roast/workflow/each_step.rb +1 -0
  74. data/lib/roast/workflow/error_handler.rb +7 -1
  75. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  76. data/lib/roast/workflow/expression_utils.rb +1 -0
  77. data/lib/roast/workflow/file_state_repository.rb +2 -1
  78. data/lib/roast/workflow/input_executor.rb +1 -0
  79. data/lib/roast/workflow/input_step.rb +1 -0
  80. data/lib/roast/workflow/interpolator.rb +2 -1
  81. data/lib/roast/workflow/iteration_executor.rb +1 -0
  82. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  83. data/lib/roast/workflow/metadata_manager.rb +1 -0
  84. data/lib/roast/workflow/output_handler.rb +1 -0
  85. data/lib/roast/workflow/output_manager.rb +1 -0
  86. data/lib/roast/workflow/parallel_executor.rb +1 -0
  87. data/lib/roast/workflow/prompt_step.rb +1 -0
  88. data/lib/roast/workflow/repeat_step.rb +1 -0
  89. data/lib/roast/workflow/replay_handler.rb +1 -0
  90. data/lib/roast/workflow/resource_resolver.rb +2 -6
  91. data/lib/roast/workflow/session_manager.rb +1 -0
  92. data/lib/roast/workflow/shell_script_step.rb +1 -0
  93. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  94. data/lib/roast/workflow/state_manager.rb +1 -0
  95. data/lib/roast/workflow/state_repository.rb +1 -0
  96. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  97. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  98. data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
  99. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  100. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  101. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  102. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  103. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_factory.rb +1 -0
  107. data/lib/roast/workflow/step_finder.rb +1 -0
  108. data/lib/roast/workflow/step_loader.rb +1 -0
  109. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  110. data/lib/roast/workflow/step_runner.rb +1 -0
  111. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  112. data/lib/roast/workflow/validation_command.rb +1 -0
  113. data/lib/roast/workflow/validator.rb +1 -0
  114. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  115. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  119. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  120. data/lib/roast/workflow/workflow_context.rb +1 -0
  121. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_executor.rb +2 -1
  123. data/lib/roast/workflow/workflow_initializer.rb +1 -0
  124. data/lib/roast/workflow/workflow_runner.rb +66 -55
  125. data/lib/roast/workflow.rb +1 -0
  126. data/lib/roast/workflow_diagram_generator.rb +3 -2
  127. data/lib/roast.rb +23 -8
  128. data/roast.gemspec +1 -1
  129. data/sorbet/config +8 -0
  130. data/sorbet/rbi/dsl/.gitattributes +1 -0
  131. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  132. data/sorbet/rbi/gems/.gitattributes +1 -0
  133. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
  134. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  135. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  136. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  137. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  138. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
  139. data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
  140. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
  141. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
  142. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
  143. data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
  144. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  145. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  146. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  147. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
  148. data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
  149. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  150. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  151. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
  152. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
  153. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
  154. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
  155. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
  156. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
  157. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  158. data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
  159. data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
  160. data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
  161. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
  162. data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
  163. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
  164. data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
  165. data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
  166. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
  167. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
  168. data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
  169. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
  170. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  171. data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
  172. data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
  173. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  174. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
  175. data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
  176. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  177. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
  178. data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
  179. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
  180. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
  181. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
  182. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
  183. data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
  184. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
  185. data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
  186. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  187. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  188. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
  189. data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
  190. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  191. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  192. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
  193. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  194. data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
  195. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
  196. data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
  197. data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
  198. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  199. data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
  200. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  201. data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
  202. data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
  203. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  204. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  205. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
  206. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  207. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
  208. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  209. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
  210. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
  211. data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
  212. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  213. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  214. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  215. data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
  216. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  217. data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
  218. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  219. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  220. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  221. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
  222. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
  223. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  224. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  225. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  226. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  227. data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
  228. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  229. data/sorbet/tapioca/config.yml +13 -0
  230. data/sorbet/tapioca/require.rb +36 -0
  231. metadata +116 -5
  232. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,1079 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `notiffany` gem.
5
+ # Please instead update this file by running `bin/tapioca gem notiffany`.
6
+
7
+
8
+ # TODO: this probably deserves a gem of it's own
9
+ #
10
+ # source://notiffany//lib/notiffany/notifier/base.rb#3
11
+ module Notiffany
12
+ class << self
13
+ # The notifier handles sending messages to different notifiers. Currently the
14
+ # following libraries are supported:
15
+ #
16
+ # * Ruby GNTP
17
+ # * Growl
18
+ # * Libnotify
19
+ # * rb-notifu
20
+ # * emacs
21
+ # * Terminal Notifier
22
+ # * Terminal Title
23
+ # * Tmux
24
+ #
25
+ # Please see the documentation of each notifier for more information about
26
+ # the requirements
27
+ # and configuration possibilities.
28
+ #
29
+ # Notiffany knows four different notification types:
30
+ #
31
+ # * success
32
+ # * pending
33
+ # * failed
34
+ # * notify
35
+ #
36
+ # The notification type selection is based on the image option that is
37
+ # sent to {#notify}. Each image type has its own notification type, and
38
+ # notifications with custom images goes all sent as type `notify`. The
39
+ # `gntp` notifier is able to register these types
40
+ # at Growl and allows customization of each notification type.
41
+ #
42
+ # Notiffany can be configured to make use of more than one notifier at once.
43
+ #
44
+ # source://notiffany//lib/notiffany/notifier.rb#41
45
+ def connect(options = T.unsafe(nil)); end
46
+ end
47
+ end
48
+
49
+ # source://notiffany//lib/notiffany/notifier/base.rb#4
50
+ class Notiffany::Notifier
51
+ # @return [Notifier] a new instance of Notifier
52
+ #
53
+ # source://notiffany//lib/notiffany/notifier.rb#82
54
+ def initialize(opts); end
55
+
56
+ # Test if notifiers are currently turned on
57
+ #
58
+ # @return [Boolean]
59
+ #
60
+ # source://notiffany//lib/notiffany/notifier.rb#138
61
+ def active?; end
62
+
63
+ # source://notiffany//lib/notiffany/notifier.rb#160
64
+ def available; end
65
+
66
+ # Returns the value of attribute config.
67
+ #
68
+ # source://notiffany//lib/notiffany/notifier.rb#80
69
+ def config; end
70
+
71
+ # source://notiffany//lib/notiffany/notifier.rb#92
72
+ def disconnect; end
73
+
74
+ # Test if the notifications can be enabled based on ENV['GUARD_NOTIFY']
75
+ #
76
+ # @return [Boolean]
77
+ #
78
+ # source://notiffany//lib/notiffany/notifier.rb#133
79
+ def enabled?; end
80
+
81
+ # Show a system notification with all configured notifiers.
82
+ #
83
+ # @option opts
84
+ # @option opts
85
+ # @param message [String] the message to show
86
+ # @param opts [Hash] a customizable set of options
87
+ #
88
+ # source://notiffany//lib/notiffany/notifier.rb#148
89
+ def notify(message, message_opts = T.unsafe(nil)); end
90
+
91
+ # Turn notifications off.
92
+ #
93
+ # source://notiffany//lib/notiffany/notifier.rb#120
94
+ def turn_off; end
95
+
96
+ # Turn notifications on.
97
+ #
98
+ # @option options
99
+ # @param options [Hash] the turn_on options
100
+ #
101
+ # source://notiffany//lib/notiffany/notifier.rb#109
102
+ def turn_on(options = T.unsafe(nil)); end
103
+
104
+ private
105
+
106
+ # source://notiffany//lib/notiffany/notifier.rb#191
107
+ def _activate; end
108
+
109
+ # source://notiffany//lib/notiffany/notifier.rb#170
110
+ def _check_server!; end
111
+
112
+ # @return [Boolean]
113
+ #
114
+ # source://notiffany//lib/notiffany/notifier.rb#174
115
+ def _client?; end
116
+
117
+ # source://notiffany//lib/notiffany/notifier.rb#178
118
+ def _detect_or_add_notifiers; end
119
+
120
+ # source://notiffany//lib/notiffany/notifier.rb#166
121
+ def _env; end
122
+
123
+ # @return [Boolean]
124
+ #
125
+ # source://notiffany//lib/notiffany/notifier.rb#187
126
+ def _notification_wanted?; end
127
+
128
+ # source://notiffany//lib/notiffany/notifier.rb#202
129
+ def _turn_on_notifiers(options); end
130
+ end
131
+
132
+ # source://notiffany//lib/notiffany/notifier/base.rb#5
133
+ class Notiffany::Notifier::Base
134
+ # @return [Base] a new instance of Base
135
+ #
136
+ # source://notiffany//lib/notiffany/notifier/base.rb#47
137
+ def initialize(opts = T.unsafe(nil)); end
138
+
139
+ # source://notiffany//lib/notiffany/notifier/base.rb#75
140
+ def _image_path(image); end
141
+
142
+ # source://notiffany//lib/notiffany/notifier/base.rb#66
143
+ def name; end
144
+
145
+ # source://notiffany//lib/notiffany/notifier/base.rb#70
146
+ def notify(message, opts = T.unsafe(nil)); end
147
+
148
+ # Returns the value of attribute options.
149
+ #
150
+ # source://notiffany//lib/notiffany/notifier/base.rb#45
151
+ def options; end
152
+
153
+ # source://notiffany//lib/notiffany/notifier/base.rb#62
154
+ def title; end
155
+
156
+ private
157
+
158
+ # Override
159
+ #
160
+ # source://notiffany//lib/notiffany/notifier/base.rb#93
161
+ def _check_available(_options); end
162
+
163
+ # source://notiffany//lib/notiffany/notifier/base.rb#114
164
+ def _check_host_supported; end
165
+
166
+ # Override if necessary
167
+ #
168
+ # source://notiffany//lib/notiffany/notifier/base.rb#83
169
+ def _gem_name; end
170
+
171
+ # source://notiffany//lib/notiffany/notifier/base.rb#102
172
+ def _notification_type(image); end
173
+
174
+ # source://notiffany//lib/notiffany/notifier/base.rb#106
175
+ def _notify_options(overrides = T.unsafe(nil)); end
176
+
177
+ # Override
178
+ #
179
+ # source://notiffany//lib/notiffany/notifier/base.rb#98
180
+ def _perform_notify(_message, _opts); end
181
+
182
+ # source://notiffany//lib/notiffany/notifier/base.rb#120
183
+ def _require_gem; end
184
+
185
+ # Override if necessary
186
+ #
187
+ # source://notiffany//lib/notiffany/notifier/base.rb#88
188
+ def _supported_hosts; end
189
+ end
190
+
191
+ # source://notiffany//lib/notiffany/notifier/base.rb#19
192
+ Notiffany::Notifier::Base::ERROR_ADD_GEM_AND_RUN_BUNDLE = T.let(T.unsafe(nil), String)
193
+
194
+ # source://notiffany//lib/notiffany/notifier/base.rb#6
195
+ Notiffany::Notifier::Base::HOSTS = T.let(T.unsafe(nil), Hash)
196
+
197
+ # source://notiffany//lib/notiffany/notifier/base.rb#33
198
+ class Notiffany::Notifier::Base::RequireFailed < ::Notiffany::Notifier::Base::UnavailableError
199
+ # @return [RequireFailed] a new instance of RequireFailed
200
+ #
201
+ # source://notiffany//lib/notiffany/notifier/base.rb#34
202
+ def initialize(gem_name); end
203
+ end
204
+
205
+ # source://notiffany//lib/notiffany/notifier/base.rb#22
206
+ class Notiffany::Notifier::Base::UnavailableError < ::RuntimeError
207
+ # @return [UnavailableError] a new instance of UnavailableError
208
+ #
209
+ # source://notiffany//lib/notiffany/notifier/base.rb#23
210
+ def initialize(reason); end
211
+
212
+ # source://notiffany//lib/notiffany/notifier/base.rb#28
213
+ def message; end
214
+ end
215
+
216
+ # source://notiffany//lib/notiffany/notifier/base.rb#39
217
+ class Notiffany::Notifier::Base::UnsupportedPlatform < ::Notiffany::Notifier::Base::UnavailableError
218
+ # @return [UnsupportedPlatform] a new instance of UnsupportedPlatform
219
+ #
220
+ # source://notiffany//lib/notiffany/notifier/base.rb#40
221
+ def initialize; end
222
+ end
223
+
224
+ # Configuration class for Notifier
225
+ #
226
+ # source://notiffany//lib/notiffany/notifier/config.rb#6
227
+ class Notiffany::Notifier::Config
228
+ # @return [Config] a new instance of Config
229
+ #
230
+ # source://notiffany//lib/notiffany/notifier/config.rb#13
231
+ def initialize(opts); end
232
+
233
+ # Returns the value of attribute env_namespace.
234
+ #
235
+ # source://notiffany//lib/notiffany/notifier/config.rb#9
236
+ def env_namespace; end
237
+
238
+ # Returns the value of attribute logger.
239
+ #
240
+ # source://notiffany//lib/notiffany/notifier/config.rb#10
241
+ def logger; end
242
+
243
+ # Returns the value of attribute notifiers.
244
+ #
245
+ # source://notiffany//lib/notiffany/notifier/config.rb#11
246
+ def notifiers; end
247
+
248
+ # @return [Boolean]
249
+ #
250
+ # source://notiffany//lib/notiffany/notifier/config.rb#21
251
+ def notify?; end
252
+
253
+ private
254
+
255
+ # source://notiffany//lib/notiffany/notifier/config.rb#27
256
+ def _setup_logger(opts); end
257
+ end
258
+
259
+ # source://notiffany//lib/notiffany/notifier/config.rb#7
260
+ Notiffany::Notifier::Config::DEFAULTS = T.let(T.unsafe(nil), Hash)
261
+
262
+ # @private api
263
+ #
264
+ # source://notiffany//lib/notiffany/notifier/detected.rb#27
265
+ class Notiffany::Notifier::Detected
266
+ # @return [Detected] a new instance of Detected
267
+ #
268
+ # source://notiffany//lib/notiffany/notifier/detected.rb#47
269
+ def initialize(supported, env_namespace, logger); end
270
+
271
+ # Called when user has notifier-specific config.
272
+ # Honor the config by warning if something is wrong
273
+ #
274
+ # source://notiffany//lib/notiffany/notifier/detected.rb#82
275
+ def add(name, opts); end
276
+
277
+ # source://notiffany//lib/notiffany/notifier/detected.rb#74
278
+ def available; end
279
+
280
+ # source://notiffany//lib/notiffany/notifier/detected.rb#57
281
+ def detect; end
282
+
283
+ # source://notiffany//lib/notiffany/notifier/detected.rb#53
284
+ def reset; end
285
+
286
+ private
287
+
288
+ # source://notiffany//lib/notiffany/notifier/detected.rb#90
289
+ def _add(name, opts); end
290
+
291
+ # source://notiffany//lib/notiffany/notifier/detected.rb#117
292
+ def _notifiers; end
293
+
294
+ # source://notiffany//lib/notiffany/notifier/detected.rb#109
295
+ def _to_module(name); end
296
+ end
297
+
298
+ # source://notiffany//lib/notiffany/notifier/detected.rb#28
299
+ Notiffany::Notifier::Detected::NO_SUPPORTED_NOTIFIERS = T.let(T.unsafe(nil), String)
300
+
301
+ # source://notiffany//lib/notiffany/notifier/detected.rb#31
302
+ class Notiffany::Notifier::Detected::NoneAvailableError < ::RuntimeError; end
303
+
304
+ # source://notiffany//lib/notiffany/notifier/detected.rb#34
305
+ class Notiffany::Notifier::Detected::UnknownNotifier < ::RuntimeError
306
+ # @return [UnknownNotifier] a new instance of UnknownNotifier
307
+ #
308
+ # source://notiffany//lib/notiffany/notifier/detected.rb#35
309
+ def initialize(name); end
310
+
311
+ # source://notiffany//lib/notiffany/notifier/detected.rb#42
312
+ def message; end
313
+
314
+ # Returns the value of attribute name.
315
+ #
316
+ # source://notiffany//lib/notiffany/notifier/detected.rb#40
317
+ def name; end
318
+ end
319
+
320
+ # Send a notification to Emacs with emacsclient
321
+ # (http://www.emacswiki.org/emacs/EmacsClient).
322
+ #
323
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#4
324
+ class Notiffany::Notifier::Emacs < ::Notiffany::Notifier::Base
325
+ private
326
+
327
+ # @raise [UnavailableError]
328
+ #
329
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#32
330
+ def _check_available(options); end
331
+
332
+ # Get the Emacs color for the notification type.
333
+ # You can configure your own color by overwrite the defaults.
334
+ #
335
+ # notifications (default is 'ForestGreen')
336
+ #
337
+ # notifications (default is 'Firebrick')
338
+ #
339
+ # notifications
340
+ #
341
+ # 'Black')
342
+ #
343
+ # @option options
344
+ # @option options
345
+ # @option options
346
+ # @option options
347
+ # @param type [String] the notification type
348
+ # @param options [Hash] aditional notification options
349
+ # @return [String] the name of the emacs color
350
+ #
351
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#86
352
+ def _emacs_color(type, options = T.unsafe(nil)); end
353
+
354
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#91
355
+ def _erb_for(filename); end
356
+
357
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#28
358
+ def _gem_name; end
359
+
360
+ # Shows a system notification.
361
+ #
362
+ # @option opts
363
+ # @option opts
364
+ # @option opts
365
+ # @option opts
366
+ # @option opts
367
+ # @option opts
368
+ # @param type [String] the notification type. Either 'success',
369
+ # 'pending', 'failed' or 'notify'
370
+ # @param title [String] the notification title
371
+ # @param message [String] the notification message body
372
+ # @param image [String] the path to the notification image
373
+ # @param opts [Hash] additional notification library options
374
+ #
375
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#58
376
+ def _perform_notify(message, opts = T.unsafe(nil)); end
377
+ end
378
+
379
+ # Handles evaluating ELISP code in Emacs via Erb
380
+ #
381
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#6
382
+ class Notiffany::Notifier::Emacs::Client
383
+ # @raise [ArgumentError]
384
+ # @return [Client] a new instance of Client
385
+ #
386
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#28
387
+ def initialize(options); end
388
+
389
+ # @return [Boolean]
390
+ #
391
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#34
392
+ def available?; end
393
+
394
+ # Returns the value of attribute elisp_erb.
395
+ #
396
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#7
397
+ def elisp_erb; end
398
+
399
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#39
400
+ def notify(color, bgcolor, message = T.unsafe(nil)); end
401
+
402
+ private
403
+
404
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#46
405
+ def _emacs_eval(env, code); end
406
+ end
407
+
408
+ # Creates a safe binding with local variables for ERB
409
+ #
410
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#10
411
+ class Notiffany::Notifier::Emacs::Client::Elisp < ::ERB
412
+ # @return [Elisp] a new instance of Elisp
413
+ #
414
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#15
415
+ def initialize(code, color, bgcolor, message); end
416
+
417
+ # Returns the value of attribute bgcolor.
418
+ #
419
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#12
420
+ def bgcolor; end
421
+
422
+ # Returns the value of attribute color.
423
+ #
424
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#11
425
+ def color; end
426
+
427
+ # Returns the value of attribute message.
428
+ #
429
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#13
430
+ def message; end
431
+
432
+ # source://notiffany//lib/notiffany/notifier/emacs/client.rb#23
433
+ def result; end
434
+ end
435
+
436
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#12
437
+ Notiffany::Notifier::Emacs::DEFAULTS = T.let(T.unsafe(nil), Hash)
438
+
439
+ # source://notiffany//lib/notiffany/notifier/emacs.rb#20
440
+ Notiffany::Notifier::Emacs::DEFAULT_ELISP_ERB = T.let(T.unsafe(nil), String)
441
+
442
+ # source://notiffany//lib/notiffany/notifier.rb#0
443
+ class Notiffany::Notifier::Env < ::Nenv::Environment
444
+ # source://nenv/0.3.0/lib/nenv/environment.rb#69
445
+ def notify?; end
446
+
447
+ # source://nenv/0.3.0/lib/nenv/environment.rb#59
448
+ def notify_active=(raw_value); end
449
+
450
+ # source://nenv/0.3.0/lib/nenv/environment.rb#69
451
+ def notify_active?; end
452
+
453
+ # source://nenv/0.3.0/lib/nenv/environment.rb#69
454
+ def notify_pid; end
455
+
456
+ # source://nenv/0.3.0/lib/nenv/environment.rb#59
457
+ def notify_pid=(raw_value); end
458
+ end
459
+
460
+ # Writes notifications to a file.
461
+ #
462
+ # source://notiffany//lib/notiffany/notifier/file.rb#7
463
+ class Notiffany::Notifier::File < ::Notiffany::Notifier::Base
464
+ private
465
+
466
+ # @option opts
467
+ # @param opts [Hash] some options
468
+ #
469
+ # source://notiffany//lib/notiffany/notifier/file.rb#16
470
+ def _check_available(opts = T.unsafe(nil)); end
471
+
472
+ # source://notiffany//lib/notiffany/notifier/file.rb#39
473
+ def _gem_name; end
474
+
475
+ # Writes the notification to a file. By default it writes type, title,
476
+ # and message separated by newlines.
477
+ #
478
+ # @option opts
479
+ # @option opts
480
+ # @option opts
481
+ # @option opts
482
+ # @option opts
483
+ # @param message [String] the notification message body
484
+ # @param opts [Hash] additional notification library options
485
+ #
486
+ # source://notiffany//lib/notiffany/notifier/file.rb#32
487
+ def _perform_notify(message, opts = T.unsafe(nil)); end
488
+ end
489
+
490
+ # source://notiffany//lib/notiffany/notifier/file.rb#8
491
+ Notiffany::Notifier::File::DEFAULTS = T.let(T.unsafe(nil), Hash)
492
+
493
+ # System notifications using the
494
+ # [ruby_gntp](https://github.com/snaka/ruby_gntp) gem.
495
+ #
496
+ # This gem is available for OS X, Linux and Windows and sends system
497
+ # notifications to the following system notification frameworks through the
498
+ #
499
+ # [Growl Network Transport
500
+ # Protocol](http://www.growlforwindows.com/gfw/help/gntp.aspx):
501
+ #
502
+ # * [Growl](http://growl.info)
503
+ # * [Growl for Windows](http://www.growlforwindows.com)
504
+ # * [Growl for Linux](http://mattn.github.com/growl-for-linux)
505
+ # * [Snarl](https://sites.google.com/site/snarlapp)
506
+ #
507
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#18
508
+ class Notiffany::Notifier::GNTP < ::Notiffany::Notifier::Base
509
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#39
510
+ def _check_available(_opts); end
511
+
512
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#35
513
+ def _gem_name; end
514
+
515
+ # Shows a system notification.
516
+ #
517
+ # @option opts
518
+ # @option opts
519
+ # @option opts
520
+ # @option opts
521
+ # @option opts
522
+ # @option opts
523
+ # @option opts
524
+ # @param message [String] the notification message body
525
+ # @param opts [Hash] additional notification library options
526
+ #
527
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#57
528
+ def _perform_notify(message, opts = T.unsafe(nil)); end
529
+
530
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#30
531
+ def _supported_hosts; end
532
+
533
+ private
534
+
535
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#69
536
+ def _gntp_client(opts = T.unsafe(nil)); end
537
+ end
538
+
539
+ # Default options for the ruby gtnp client.
540
+ #
541
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#24
542
+ Notiffany::Notifier::GNTP::CLIENT_DEFAULTS = T.let(T.unsafe(nil), Hash)
543
+
544
+ # source://notiffany//lib/notiffany/notifier/gntp.rb#19
545
+ Notiffany::Notifier::GNTP::DEFAULTS = T.let(T.unsafe(nil), Hash)
546
+
547
+ # System notifications using the
548
+ # [growl](https://github.com/visionmedia/growl) gem.
549
+ #
550
+ # This gem is available for OS X and sends system notifications to
551
+ # [Growl](http://growl.info) through the
552
+ # [GrowlNotify](http://growl.info/downloads) executable.
553
+ #
554
+ # The `growlnotify` executable must be installed manually or by using
555
+ # [Homebrew](http://mxcl.github.com/homebrew/).
556
+ #
557
+ # Sending notifications with this notifier will not show the different
558
+ # notifications in the Growl preferences. Use the :gntp notifier if you
559
+ # want to customize each notification type in Growl.
560
+ #
561
+ # your `Guardfile` notification :growl, sticky: true, host: '192.168.1.5',
562
+ # password: 'secret'
563
+ #
564
+ # @example Install `growlnotify` with Homebrew
565
+ # brew install growlnotify
566
+ # @example Add the `growl` gem to your `Gemfile`
567
+ # group :development
568
+ # gem 'growl'
569
+ # end
570
+ # @example Add the `:growl` notifier to your `Guardfile`
571
+ # notification :growl
572
+ # @example Add the `:growl_notify` notifier with configuration options to
573
+ #
574
+ # source://notiffany//lib/notiffany/notifier/growl.rb#34
575
+ class Notiffany::Notifier::Growl < ::Notiffany::Notifier::Base
576
+ # source://notiffany//lib/notiffany/notifier/growl.rb#48
577
+ def _check_available(_opts = T.unsafe(nil)); end
578
+
579
+ # Shows a system notification.
580
+ #
581
+ # The documented options are for GrowlNotify 1.3, but the older options
582
+ # are also supported. Please see `growlnotify --help`.
583
+ #
584
+ # Priority can be one of the following named keys: `Very Low`,
585
+ # `Moderate`, `Normal`, `High`, `Emergency`. It can also be an integer
586
+ # between -2 and 2.
587
+ #
588
+ # @option opts
589
+ # @option opts
590
+ # @option opts
591
+ # @option opts
592
+ # @option opts
593
+ # @option opts
594
+ # @option opts
595
+ # @param message [String] the notification message body
596
+ # @param opts [Hash] additional notification library options
597
+ #
598
+ # source://notiffany//lib/notiffany/notifier/growl.rb#75
599
+ def _perform_notify(message, opts = T.unsafe(nil)); end
600
+
601
+ # source://notiffany//lib/notiffany/notifier/growl.rb#44
602
+ def _supported_hosts; end
603
+ end
604
+
605
+ # Default options for the growl notifications.
606
+ #
607
+ # source://notiffany//lib/notiffany/notifier/growl.rb#39
608
+ Notiffany::Notifier::Growl::DEFAULTS = T.let(T.unsafe(nil), Hash)
609
+
610
+ # source://notiffany//lib/notiffany/notifier/growl.rb#35
611
+ Notiffany::Notifier::Growl::INSTALL_GROWLNOTIFY = T.let(T.unsafe(nil), String)
612
+
613
+ # System notifications using the
614
+ # [libnotify](https://github.com/splattael/libnotify) gem.
615
+ #
616
+ # This gem is available for Linux, FreeBSD, OpenBSD and Solaris and sends
617
+ # system notifications to
618
+ # Gnome [libnotify](http://developer.gnome.org/libnotify):
619
+ #
620
+ # source://notiffany//lib/notiffany/notifier/libnotify.rb#12
621
+ class Notiffany::Notifier::Libnotify < ::Notiffany::Notifier::Base
622
+ private
623
+
624
+ # source://notiffany//lib/notiffany/notifier/libnotify.rb#25
625
+ def _check_available(_opts = T.unsafe(nil)); end
626
+
627
+ # Shows a system notification.
628
+ #
629
+ # @option opts
630
+ # @option opts
631
+ # @option opts
632
+ # @option opts
633
+ # @option opts
634
+ # @option opts
635
+ # @param message [String] the notification message body
636
+ # @param opts [Hash] additional notification library options
637
+ #
638
+ # source://notiffany//lib/notiffany/notifier/libnotify.rb#42
639
+ def _perform_notify(message, opts = T.unsafe(nil)); end
640
+
641
+ # source://notiffany//lib/notiffany/notifier/libnotify.rb#21
642
+ def _supported_hosts; end
643
+ end
644
+
645
+ # source://notiffany//lib/notiffany/notifier/libnotify.rb#13
646
+ Notiffany::Notifier::Libnotify::DEFAULTS = T.let(T.unsafe(nil), Hash)
647
+
648
+ # source://notiffany//lib/notiffany/notifier.rb#46
649
+ Notiffany::Notifier::NOTIFICATIONS_DISABLED = T.let(T.unsafe(nil), String)
650
+
651
+ # source://notiffany//lib/notiffany/notifier.rb#77
652
+ class Notiffany::Notifier::NotServer < ::RuntimeError; end
653
+
654
+ # System notifications using the
655
+ # [rb-notifu](https://github.com/stereobooster/rb-notifu) gem.
656
+ #
657
+ # This gem is available for Windows and sends system notifications to
658
+ # [Notifu](http://www.paralint.com/projects/notifu/index.html):
659
+ #
660
+ # @example Add the `rb-notifu` gem to your `Gemfile`
661
+ # group :development
662
+ # gem 'rb-notifu'
663
+ # end
664
+ #
665
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#16
666
+ class Notiffany::Notifier::Notifu < ::Notiffany::Notifier::Base
667
+ private
668
+
669
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#37
670
+ def _check_available(_opts = T.unsafe(nil)); end
671
+
672
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#33
673
+ def _gem_name; end
674
+
675
+ # Converts generic notification type to the best matching
676
+ # Notifu type.
677
+ #
678
+ # @param type [String] the generic notification type
679
+ # @return [Symbol] the Notify notification type
680
+ #
681
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#77
682
+ def _notifu_type(type); end
683
+
684
+ # Shows a system notification.
685
+ #
686
+ # @option opts
687
+ # @option opts
688
+ # @option opts
689
+ # @option opts
690
+ # @option opts
691
+ # @option opts
692
+ # @option opts
693
+ # @option opts
694
+ # @option opts
695
+ # @param message [String] the notification message body
696
+ # @param opts [Hash] additional notification library options
697
+ #
698
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#61
699
+ def _perform_notify(message, opts = T.unsafe(nil)); end
700
+
701
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#29
702
+ def _supported_hosts; end
703
+ end
704
+
705
+ # Default options for the rb-notifu notifications.
706
+ #
707
+ # source://notiffany//lib/notiffany/notifier/rb_notifu.rb#18
708
+ Notiffany::Notifier::Notifu::DEFAULTS = T.let(T.unsafe(nil), Hash)
709
+
710
+ # System notifications using notify-send, a binary that ships with
711
+ # the libnotify-bin package on many Debian-based distributions.
712
+ #
713
+ # @example Add the `:notifysend` notifier to your `Guardfile`
714
+ # notification :notifysend
715
+ #
716
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#13
717
+ class Notiffany::Notifier::NotifySend < ::Notiffany::Notifier::Base
718
+ private
719
+
720
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#34
721
+ def _check_available(_opts = T.unsafe(nil)); end
722
+
723
+ # notify-send has no gem, just a binary to shell out
724
+ #
725
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#26
726
+ def _gem_name; end
727
+
728
+ # Converts Guards notification type to the best matching
729
+ # notify-send urgency.
730
+ #
731
+ # @param type [String] the Guard notification type
732
+ # @return [String] the notify-send urgency
733
+ #
734
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#71
735
+ def _notifysend_urgency(type); end
736
+
737
+ # Shows a system notification.
738
+ #
739
+ # @option opts
740
+ # @option opts
741
+ # @option opts
742
+ # @option opts
743
+ # @option opts
744
+ # @param message [String] the notification message body
745
+ # @param opts [Hash] additional notification library options
746
+ #
747
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#54
748
+ def _perform_notify(message, opts = T.unsafe(nil)); end
749
+
750
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#30
751
+ def _supported_hosts; end
752
+
753
+ # Builds a shell command out of a command string and option hash.
754
+ #
755
+ # shell command.
756
+ #
757
+ # @param command [String] the command execute
758
+ # @param supported [Array] list of supported option flags
759
+ # @param opts [Hash] additional command options
760
+ # @return [Array<String>] the command and its options converted to a
761
+ #
762
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#84
763
+ def _to_arguments(command, supported, opts = T.unsafe(nil)); end
764
+ end
765
+
766
+ # Default options for the notify-send notifications.
767
+ #
768
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#15
769
+ Notiffany::Notifier::NotifySend::DEFAULTS = T.let(T.unsafe(nil), Hash)
770
+
771
+ # Full list of options supported by notify-send.
772
+ #
773
+ # source://notiffany//lib/notiffany/notifier/notifysend.rb#21
774
+ Notiffany::Notifier::NotifySend::SUPPORTED = T.let(T.unsafe(nil), Array)
775
+
776
+ # source://notiffany//lib/notiffany/notifier.rb#51
777
+ Notiffany::Notifier::ONLY_NOTIFY = T.let(T.unsafe(nil), String)
778
+
779
+ # List of available notifiers, grouped by functionality
780
+ #
781
+ # source://notiffany//lib/notiffany/notifier.rb#54
782
+ Notiffany::Notifier::SUPPORTED = T.let(T.unsafe(nil), Array)
783
+
784
+ # System notifications using the
785
+ #
786
+ # [terminal-notifier](https://github.com/Springest/terminal-notifier-guard)
787
+ #
788
+ # gem.
789
+ #
790
+ # This gem is available for OS X 10.8 Mountain Lion and sends notifications
791
+ # to the OS X notification center.
792
+ #
793
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#13
794
+ class Notiffany::Notifier::TerminalNotifier < ::Notiffany::Notifier::Base
795
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#27
796
+ def _check_available(_opts = T.unsafe(nil)); end
797
+
798
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#23
799
+ def _gem_name; end
800
+
801
+ # Shows a system notification.
802
+ #
803
+ # @option opts
804
+ # @option opts
805
+ # @option opts
806
+ # @option opts
807
+ # @option opts
808
+ # @option opts
809
+ # @option opts
810
+ # @param message [String] the notification message body
811
+ # @param opts [Hash] additional notification library options
812
+ #
813
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#45
814
+ def _perform_notify(message, opts = T.unsafe(nil)); end
815
+
816
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#19
817
+ def _supported_hosts; end
818
+ end
819
+
820
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#14
821
+ Notiffany::Notifier::TerminalNotifier::DEFAULTS = T.let(T.unsafe(nil), Hash)
822
+
823
+ # source://notiffany//lib/notiffany/notifier/terminal_notifier.rb#16
824
+ Notiffany::Notifier::TerminalNotifier::ERROR_ONLY_OSX10 = T.let(T.unsafe(nil), String)
825
+
826
+ # Shows system notifications in the terminal title bar.
827
+ #
828
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#7
829
+ class Notiffany::Notifier::TerminalTitle < ::Notiffany::Notifier::Base
830
+ # Clears the terminal title
831
+ #
832
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#11
833
+ def turn_off; end
834
+
835
+ private
836
+
837
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#21
838
+ def _check_available(_options); end
839
+
840
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#17
841
+ def _gem_name; end
842
+
843
+ # Shows a system notification.
844
+ #
845
+ # @option opts
846
+ # @option opts
847
+ # @option opts
848
+ # @param opts [Hash] additional notification library options
849
+ #
850
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#32
851
+ def _perform_notify(message, opts = T.unsafe(nil)); end
852
+ end
853
+
854
+ # source://notiffany//lib/notiffany/notifier/terminal_title.rb#8
855
+ Notiffany::Notifier::TerminalTitle::DEFAULTS = T.let(T.unsafe(nil), Hash)
856
+
857
+ # Changes the color of the Tmux status bar and optionally
858
+ # shows messages in the status bar.
859
+ #
860
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#5
861
+ class Notiffany::Notifier::Tmux < ::Notiffany::Notifier::Base
862
+ # Notification stopping. Restore the previous Tmux state
863
+ # if available (existing options are restored, new options
864
+ # are unset) and unquiet the Tmux output.
865
+ #
866
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#52
867
+ def turn_off; end
868
+
869
+ # Notification starting, save the current Tmux settings
870
+ # and quiet the Tmux output.
871
+ #
872
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#44
873
+ def turn_on; end
874
+
875
+ private
876
+
877
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#62
878
+ def _check_available(opts = T.unsafe(nil)); end
879
+
880
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#58
881
+ def _gem_name; end
882
+
883
+ # Shows a system notification.
884
+ #
885
+ # By default, the Tmux notifier only makes
886
+ # use of a color based notification, changing the background color of the
887
+ # `color_location` to the color defined in either the `success`,
888
+ # `failed`, `pending` or `default`, depending on the notification type.
889
+ #
890
+ # You may enable an extra explicit message by setting `display_message`
891
+ # to true, and may further disable the colorization by setting
892
+ # `change_color` to false.
893
+ #
894
+ # @option options
895
+ # @option options
896
+ # @option options
897
+ # @option options
898
+ # @option options
899
+ # @option options
900
+ # @option options
901
+ # @param message [String] the notification message
902
+ # @param options [Hash] additional notification library options
903
+ #
904
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#103
905
+ def _perform_notify(message, options = T.unsafe(nil)); end
906
+
907
+ class << self
908
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#120
909
+ def _end_session; end
910
+
911
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#126
912
+ def _session; end
913
+
914
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#115
915
+ def _start_session; end
916
+ end
917
+ end
918
+
919
+ # Class for actually calling TMux to run commands
920
+ #
921
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#7
922
+ class Notiffany::Notifier::Tmux::Client
923
+ # @return [Client] a new instance of Client
924
+ #
925
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#28
926
+ def initialize(client); end
927
+
928
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#32
929
+ def clients; end
930
+
931
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#49
932
+ def display_message(message); end
933
+
934
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#76
935
+ def display_time=(time); end
936
+
937
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#72
938
+ def message_bg=(color); end
939
+
940
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#68
941
+ def message_fg=(color); end
942
+
943
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#63
944
+ def parse_options; end
945
+
946
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#42
947
+ def set(key, value); end
948
+
949
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#80
950
+ def title=(string); end
951
+
952
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#57
953
+ def unset(key, value); end
954
+
955
+ private
956
+
957
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#99
958
+ def _all_args_for(key, value, client); end
959
+
960
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#91
961
+ def _capture(*args); end
962
+
963
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#95
964
+ def _parse_option(line); end
965
+
966
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#87
967
+ def _run(*args); end
968
+
969
+ class << self
970
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#19
971
+ def _capture(*args); end
972
+
973
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#23
974
+ def _run(*args); end
975
+
976
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#11
977
+ def version; end
978
+ end
979
+ end
980
+
981
+ # source://notiffany//lib/notiffany/notifier/tmux/client.rb#8
982
+ Notiffany::Notifier::Tmux::Client::CLIENT = T.let(T.unsafe(nil), String)
983
+
984
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#15
985
+ Notiffany::Notifier::Tmux::DEFAULTS = T.let(T.unsafe(nil), Hash)
986
+
987
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#39
988
+ Notiffany::Notifier::Tmux::ERROR_ANCIENT_TMUX = T.let(T.unsafe(nil), String)
989
+
990
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#36
991
+ Notiffany::Notifier::Tmux::ERROR_NOT_INSIDE_TMUX = T.let(T.unsafe(nil), String)
992
+
993
+ # source://notiffany//lib/notiffany/notifier/tmux.rb#33
994
+ class Notiffany::Notifier::Tmux::Error < ::RuntimeError; end
995
+
996
+ # Wraps a notification with it's options
997
+ #
998
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#5
999
+ class Notiffany::Notifier::Tmux::Notification
1000
+ # @return [Notification] a new instance of Notification
1001
+ #
1002
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#6
1003
+ def initialize(type, options); end
1004
+
1005
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#33
1006
+ def colorize(locations); end
1007
+
1008
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#24
1009
+ def display_message(title, message); end
1010
+
1011
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#15
1012
+ def display_title(title, message); end
1013
+
1014
+ private
1015
+
1016
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#54
1017
+ def _message_for(title, message); end
1018
+
1019
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#48
1020
+ def _value_for(field); end
1021
+
1022
+ # Returns the value of attribute client.
1023
+ #
1024
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#45
1025
+ def client; end
1026
+
1027
+ # Returns the value of attribute color.
1028
+ #
1029
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#43
1030
+ def color; end
1031
+
1032
+ # Returns the value of attribute message_color.
1033
+ #
1034
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#44
1035
+ def message_color; end
1036
+
1037
+ # Returns the value of attribute options.
1038
+ #
1039
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#42
1040
+ def options; end
1041
+
1042
+ # Returns the value of attribute separator.
1043
+ #
1044
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#46
1045
+ def separator; end
1046
+
1047
+ # Returns the value of attribute type.
1048
+ #
1049
+ # source://notiffany//lib/notiffany/notifier/tmux/notification.rb#41
1050
+ def type; end
1051
+ end
1052
+
1053
+ # Preserves TMux settings for all tmux sessions
1054
+ #
1055
+ # source://notiffany//lib/notiffany/notifier/tmux/session.rb#5
1056
+ class Notiffany::Notifier::Tmux::Session
1057
+ # @return [Session] a new instance of Session
1058
+ #
1059
+ # source://notiffany//lib/notiffany/notifier/tmux/session.rb#6
1060
+ def initialize; end
1061
+
1062
+ # source://notiffany//lib/notiffany/notifier/tmux/session.rb#29
1063
+ def close; end
1064
+ end
1065
+
1066
+ # source://notiffany//lib/notiffany/notifier.rb#49
1067
+ Notiffany::Notifier::USING_NOTIFIER = T.let(T.unsafe(nil), String)
1068
+
1069
+ # TODO: use a socket instead of passing env variables to child processes
1070
+ # (currently probably only used by guard-cucumber anyway)
1071
+ #
1072
+ # source://notiffany//lib/notiffany/notifier/detected.rb#0
1073
+ class Notiffany::Notifier::YamlEnvStorage < ::Nenv::Environment
1074
+ # source://nenv/0.3.0/lib/nenv/environment.rb#69
1075
+ def notifiers; end
1076
+
1077
+ # source://nenv/0.3.0/lib/nenv/environment.rb#59
1078
+ def notifiers=(raw_value); end
1079
+ end