sigterm_extensions 0.0.4

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 (116) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +17 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE.md +0 -0
  5. data/README.md +0 -0
  6. data/bin/ctxirb +156 -0
  7. data/lib/git.rb +166 -0
  8. data/lib/git/LICENSE +21 -0
  9. data/lib/git/author.rb +14 -0
  10. data/lib/git/base.rb +551 -0
  11. data/lib/git/base/factory.rb +75 -0
  12. data/lib/git/branch.rb +126 -0
  13. data/lib/git/branches.rb +71 -0
  14. data/lib/git/config.rb +22 -0
  15. data/lib/git/diff.rb +159 -0
  16. data/lib/git/index.rb +5 -0
  17. data/lib/git/lib.rb +1041 -0
  18. data/lib/git/log.rb +128 -0
  19. data/lib/git/object.rb +312 -0
  20. data/lib/git/path.rb +31 -0
  21. data/lib/git/remote.rb +36 -0
  22. data/lib/git/repository.rb +6 -0
  23. data/lib/git/stash.rb +27 -0
  24. data/lib/git/stashes.rb +55 -0
  25. data/lib/git/status.rb +199 -0
  26. data/lib/git/version.rb +5 -0
  27. data/lib/git/working_directory.rb +4 -0
  28. data/lib/sigterm_extensions.rb +75 -0
  29. data/lib/sigterm_extensions/all.rb +12 -0
  30. data/lib/sigterm_extensions/backtrace_cleaner.rb +129 -0
  31. data/lib/sigterm_extensions/callbacks.rb +847 -0
  32. data/lib/sigterm_extensions/concern.rb +169 -0
  33. data/lib/sigterm_extensions/configurable.rb +38 -0
  34. data/lib/sigterm_extensions/core_ext.rb +4 -0
  35. data/lib/sigterm_extensions/core_ext/array.rb +3 -0
  36. data/lib/sigterm_extensions/core_ext/array/extract.rb +19 -0
  37. data/lib/sigterm_extensions/core_ext/array/extract_options.rb +29 -0
  38. data/lib/sigterm_extensions/core_ext/class.rb +3 -0
  39. data/lib/sigterm_extensions/core_ext/class/attribute.rb +139 -0
  40. data/lib/sigterm_extensions/core_ext/class/attribute_accessors.rb +4 -0
  41. data/lib/sigterm_extensions/core_ext/class/subclasses.rb +52 -0
  42. data/lib/sigterm_extensions/core_ext/custom.rb +12 -0
  43. data/lib/sigterm_extensions/core_ext/digest.rb +3 -0
  44. data/lib/sigterm_extensions/core_ext/digest/uuid.rb +51 -0
  45. data/lib/sigterm_extensions/core_ext/enumerable.rb +232 -0
  46. data/lib/sigterm_extensions/core_ext/file.rb +3 -0
  47. data/lib/sigterm_extensions/core_ext/file/atomic.rb +68 -0
  48. data/lib/sigterm_extensions/core_ext/hash.rb +3 -0
  49. data/lib/sigterm_extensions/core_ext/hash/deep_merge.rb +41 -0
  50. data/lib/sigterm_extensions/core_ext/hash/deep_transform_values.rb +44 -0
  51. data/lib/sigterm_extensions/core_ext/hash/except.rb +22 -0
  52. data/lib/sigterm_extensions/core_ext/hash/keys.rb +141 -0
  53. data/lib/sigterm_extensions/core_ext/hash/reverse_merge.rb +23 -0
  54. data/lib/sigterm_extensions/core_ext/hash/slice.rb +24 -0
  55. data/lib/sigterm_extensions/core_ext/kernel.rb +3 -0
  56. data/lib/sigterm_extensions/core_ext/kernel/concern.rb +12 -0
  57. data/lib/sigterm_extensions/core_ext/kernel/reporting.rb +43 -0
  58. data/lib/sigterm_extensions/core_ext/kernel/singleton_class.rb +6 -0
  59. data/lib/sigterm_extensions/core_ext/load_error.rb +7 -0
  60. data/lib/sigterm_extensions/core_ext/module.rb +3 -0
  61. data/lib/sigterm_extensions/core_ext/module/aliasing.rb +29 -0
  62. data/lib/sigterm_extensions/core_ext/module/anonymous.rb +28 -0
  63. data/lib/sigterm_extensions/core_ext/module/attr_internal.rb +36 -0
  64. data/lib/sigterm_extensions/core_ext/module/attribute_accessors.rb +208 -0
  65. data/lib/sigterm_extensions/core_ext/module/attribute_accessors_per_thread.rb +146 -0
  66. data/lib/sigterm_extensions/core_ext/module/concerning.rb +132 -0
  67. data/lib/sigterm_extensions/core_ext/module/delegation.rb +319 -0
  68. data/lib/sigterm_extensions/core_ext/module/redefine_method.rb +38 -0
  69. data/lib/sigterm_extensions/core_ext/module/remove_method.rb +15 -0
  70. data/lib/sigterm_extensions/core_ext/name_error.rb +36 -0
  71. data/lib/sigterm_extensions/core_ext/object.rb +3 -0
  72. data/lib/sigterm_extensions/core_ext/object/blank.rb +153 -0
  73. data/lib/sigterm_extensions/core_ext/object/colors.rb +39 -0
  74. data/lib/sigterm_extensions/core_ext/object/duplicable.rb +47 -0
  75. data/lib/sigterm_extensions/core_ext/object/inclusion.rb +27 -0
  76. data/lib/sigterm_extensions/core_ext/object/instance_variables.rb +28 -0
  77. data/lib/sigterm_extensions/core_ext/object/methods.rb +61 -0
  78. data/lib/sigterm_extensions/core_ext/object/with_options.rb +80 -0
  79. data/lib/sigterm_extensions/core_ext/range.rb +3 -0
  80. data/lib/sigterm_extensions/core_ext/range/compare_range.rb +74 -0
  81. data/lib/sigterm_extensions/core_ext/range/conversions.rb +39 -0
  82. data/lib/sigterm_extensions/core_ext/range/overlaps.rb +8 -0
  83. data/lib/sigterm_extensions/core_ext/securerandom.rb +43 -0
  84. data/lib/sigterm_extensions/core_ext/string.rb +3 -0
  85. data/lib/sigterm_extensions/core_ext/string/access.rb +93 -0
  86. data/lib/sigterm_extensions/core_ext/string/filters.rb +143 -0
  87. data/lib/sigterm_extensions/core_ext/string/starts_ends_with.rb +4 -0
  88. data/lib/sigterm_extensions/core_ext/string/strip.rb +25 -0
  89. data/lib/sigterm_extensions/core_ext/tryable.rb +132 -0
  90. data/lib/sigterm_extensions/descendants_tracker.rb +108 -0
  91. data/lib/sigterm_extensions/gem_methods.rb +47 -0
  92. data/lib/sigterm_extensions/hash_binding.rb +16 -0
  93. data/lib/sigterm_extensions/inflector.rb +339 -0
  94. data/lib/sigterm_extensions/inflector/acronyms.rb +42 -0
  95. data/lib/sigterm_extensions/inflector/inflections.rb +249 -0
  96. data/lib/sigterm_extensions/inflector/inflections/defaults.rb +117 -0
  97. data/lib/sigterm_extensions/inflector/rules.rb +37 -0
  98. data/lib/sigterm_extensions/inflector/version.rb +8 -0
  99. data/lib/sigterm_extensions/interactive_editor.rb +120 -0
  100. data/lib/sigterm_extensions/lazy.rb +34 -0
  101. data/lib/sigterm_extensions/lazy_load_hooks.rb +79 -0
  102. data/lib/sigterm_extensions/option_merger.rb +32 -0
  103. data/lib/sigterm_extensions/ordered_hash.rb +48 -0
  104. data/lib/sigterm_extensions/ordered_options.rb +83 -0
  105. data/lib/sigterm_extensions/paths.rb +235 -0
  106. data/lib/sigterm_extensions/per_thread_registry.rb +58 -0
  107. data/lib/sigterm_extensions/proxy_object.rb +14 -0
  108. data/lib/sigterm_extensions/staging/boot.rb +31 -0
  109. data/lib/sigterm_extensions/staging/boot/bundler_patch.rb +24 -0
  110. data/lib/sigterm_extensions/staging/boot/command.rb +26 -0
  111. data/lib/sigterm_extensions/staging/boot/gemfile_next_auto_sync.rb +79 -0
  112. data/lib/sigterm_extensions/version.rb +4 -0
  113. data/lib/sigterm_extensions/wrappable.rb +16 -0
  114. data/sigterm_extensions.gemspec +42 -0
  115. data/templates/dotpryrc.rb.erb +124 -0
  116. metadata +315 -0
@@ -0,0 +1,58 @@
1
+ require "sigterm_extensions/core_ext/module/delegation"
2
+
3
+ module SigtermExtensions
4
+ # NOTE: This approach has been deprecated for end-user code in favor of {thread_mattr_accessor}[rdoc-ref:Module#thread_mattr_accessor] and friends.
5
+ # Please use that approach instead.
6
+ #
7
+ # This module is used to encapsulate access to thread local variables.
8
+ #
9
+ # Instead of polluting the thread locals namespace:
10
+ #
11
+ # Thread.current[:connection_handler]
12
+ #
13
+ # you define a class that extends this module:
14
+ #
15
+ # module ActiveRecord
16
+ # class RuntimeRegistry
17
+ # extend ActiveSupport::PerThreadRegistry
18
+ #
19
+ # attr_accessor :connection_handler
20
+ # end
21
+ # end
22
+ #
23
+ # and invoke the declared instance accessors as class methods. So
24
+ #
25
+ # ActiveRecord::RuntimeRegistry.connection_handler = connection_handler
26
+ #
27
+ # sets a connection handler local to the current thread, and
28
+ #
29
+ # ActiveRecord::RuntimeRegistry.connection_handler
30
+ #
31
+ # returns a connection handler local to the current thread.
32
+ #
33
+ # This feature is accomplished by instantiating the class and storing the
34
+ # instance as a thread local keyed by the class name. In the example above
35
+ # a key "ActiveRecord::RuntimeRegistry" is stored in <tt>Thread.current</tt>.
36
+ # The class methods proxy to said thread local instance.
37
+ #
38
+ # If the class has an initializer, it must accept no arguments.
39
+ module PerThreadRegistry
40
+ def self.extended(object)
41
+ object.instance_variable_set :@per_thread_registry_key, object.name.freeze
42
+ end
43
+
44
+ def instance
45
+ Thread.current[@per_thread_registry_key] ||= new
46
+ end
47
+
48
+ private
49
+ def method_missing(name, *args, &block)
50
+ # Caches the method definition as a singleton method of the receiver.
51
+ #
52
+ # By letting #delegate handle it, we avoid an enclosure that'll capture args.
53
+ singleton_class.delegate name, to: :instance
54
+
55
+ send(name, *args, &block)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,14 @@
1
+
2
+ module SigtermExtensions
3
+ # A class with no predefined methods that behaves similarly to Builder's
4
+ # BlankSlate. Used for proxy classes.
5
+ class ProxyObject < ::BasicObject
6
+ #undef_method :== if defined? :==
7
+ #undef_method :equal?
8
+
9
+ # Let SigtermExtensions::ProxyObject at least raise exceptions.
10
+ def raise(*args)
11
+ ::Object.send(:raise, *args)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ require_relative 'boot/bundler_patch'
2
+
3
+ module SigtermExtensions
4
+ module Boot
5
+ GEMFILE = Bundler.default_gemfile
6
+ GEMFILE_LOCK = Pathname("#{GEMFILE}.lock")
7
+ GEMFILE_NEXT_LOCK = Pathname("#{GEMFILE}_next.lock")
8
+
9
+ autoload :GemfileNextAutoSync, 'sigterm_extensions/staging/boot/gemfile_next_auto_sync'
10
+ autoload :Command, 'sigterm_extensions/staging/boot/command'
11
+
12
+ class << self
13
+ def env_next
14
+ env_prefix + '_NEXT'
15
+ end
16
+
17
+ def env_previous
18
+ env_prefix + '_PREVIOUS'
19
+ end
20
+
21
+ private
22
+
23
+ def env_prefix
24
+ Bundler.settings['boot_env_prefix'] || 'DEPENDENCIES'
25
+ end
26
+ end
27
+ end
28
+
29
+ Boot::GemfileNextAutoSync.new.setup
30
+ Boot::Command.new.setup
31
+ end
@@ -0,0 +1,24 @@
1
+ module DefinitionPatch
2
+ def initialize(wrong_lock, *args)
3
+ lockfile = if ENV['SKIP_BUNDLER_PATCH']
4
+ wrong_lock
5
+ else
6
+ SigtermExtensions::Boot::GEMFILE_NEXT_LOCK
7
+ end
8
+
9
+ super(lockfile, *args)
10
+ end
11
+ end
12
+
13
+ module SharedHelpersPatch
14
+ def default_lockfile
15
+ SigtermExtensions::Boot::GEMFILE_NEXT_LOCK
16
+ end
17
+ end
18
+
19
+ Bundler::Dsl.class_eval do
20
+ def enable_dual_booting
21
+ Bundler::Definition.prepend(DefinitionPatch)
22
+ Bundler::SharedHelpers.singleton_class.prepend(SharedHelpersPatch)
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ require 'fileutils'
2
+
3
+ module SigtermExtensions
4
+ module Boot
5
+ class Command < Bundler::Plugin::API
6
+ def setup
7
+ self.class.command('boot')
8
+ end
9
+
10
+ def exec(_cmd, _args)
11
+ FileUtils.cp(GEMFILE_LOCK, GEMFILE_NEXT_LOCK)
12
+
13
+ File.open(GEMFILE, 'a+') do |f|
14
+ f.write(<<-EOM)
15
+ Plugin.send(:load_plugin, 'boot') if Plugin.installed?('boot')
16
+ if ENV['#{::SigtermExtensions::Boot.env_next}']
17
+ enable_dual_booting if Plugin.installed?('boot')
18
+ # Add any gem you want here, they will be loaded only when running
19
+ # bundler command prefixed with `#{::SigtermExtensions::Boot.env_next}=1`.
20
+ end
21
+ EOM
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,79 @@
1
+ module SigtermExtensions
2
+ module Boot
3
+ class GemfileNextAutoSync < Bundler::Plugin::API
4
+ def setup
5
+ check_bundler_version
6
+ opt_in
7
+ end
8
+
9
+ private
10
+
11
+ def check_bundler_version
12
+ self.class.hook("before-install-all") do
13
+ next if Bundler::VERSION >= "1.17.0" || !GEMFILE_NEXT_LOCK.exist?
14
+
15
+ Bundler.ui.warn(<<-EOM.gsub(/\s+/, " "))
16
+ Boot can't automatically update the Gemfile_next.lock because you are running
17
+ an older version of Bundler.
18
+ Update Bundler to 1.17.0 to discard this warning.
19
+ EOM
20
+ end
21
+ end
22
+
23
+ def opt_in
24
+ self.class.hook('before-install-all') do
25
+ @previous_lock = Bundler.default_lockfile.read
26
+ end
27
+
28
+ self.class.hook("after-install-all") do
29
+ current_definition = Bundler.definition
30
+
31
+ next if !GEMFILE_NEXT_LOCK.exist? ||
32
+ nothing_changed?(current_definition) ||
33
+ ENV[Boot.env_next] ||
34
+ ENV[Boot.env_previous]
35
+
36
+ update!(current_definition)
37
+ end
38
+ end
39
+
40
+ def nothing_changed?(current_definition)
41
+ current_definition.to_lock == @previous_lock
42
+ end
43
+
44
+ def update!(current_definition)
45
+ env = which_env
46
+ lock = which_lock
47
+
48
+ Bundler.ui.confirm("Updating the #{lock}")
49
+ ENV[env] = '1'
50
+ ENV['SKIP_BUNDLER_PATCH'] = '1'
51
+
52
+ unlock = current_definition.instance_variable_get(:@unlock)
53
+ definition = Bundler::Definition.build(GEMFILE, lock, unlock)
54
+ definition.resolve_remotely!
55
+ definition.lock(lock)
56
+ ensure
57
+ ENV.delete(env)
58
+ ENV.delete('SKIP_BUNDLER_PATCH')
59
+ end
60
+
61
+ def which_env
62
+ if Bundler.default_lockfile.to_s =~ /_next\.lock/
63
+ Boot.env_previous
64
+ else
65
+ Boot.env_next
66
+ end
67
+ end
68
+
69
+ def which_lock
70
+ if Bundler.default_lockfile.to_s =~ /_next\.lock/
71
+ GEMFILE_LOCK
72
+ else
73
+ GEMFILE_NEXT_LOCK
74
+ end
75
+ end
76
+ end
77
+ end
78
+
79
+ end
@@ -0,0 +1,4 @@
1
+ module SigtermExtensions
2
+ VERSION = '0.0.4'.freeze
3
+ end
4
+
@@ -0,0 +1,16 @@
1
+ module SigtermExtensions
2
+ module Wrappable
3
+ @@wrappers = []
4
+
5
+ def wrap(mod)
6
+ @@wrappers << mod
7
+ end
8
+
9
+ def new(*arguments, &block)
10
+ instance = allocate
11
+ @@wrappers.each { |mod| instance.singleton_class.include(mod) }
12
+ instance.send(:initialize, *arguments, &block)
13
+ instance
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,42 @@
1
+ lib = File.expand_path('./lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'sigterm_extensions/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = 'sigterm_extensions'
8
+ s.version = SigtermExtensions::VERSION
9
+ s.date = '2019-10-16'
10
+ s.summary = 'Sigterm Extensions'
11
+ s.description = 'Later'
12
+ s.authors = ['Mikal Villa']
13
+ s.email = 'mikalv@sigterm.no'
14
+ s.homepage = 'https://rubygems.org/gems/sigterm_extensions'
15
+ s.license = 'MIT'
16
+
17
+ s.bindir = 'bin'
18
+ s.require_paths = ['lib']
19
+ s.required_ruby_version = '>= 2.4'
20
+ s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to?(:required_rubygems_version=)
21
+ s.requirements = ['git 1.6.0.0, or greater']
22
+
23
+ s.files = `git ls-files -- bin/* lib/* templates/* CHANGELOG.md LICENSE.md README.md Gemfile sigterm_extensions.gemspec`.split($INPUT_RECORD_SEPARATOR)
24
+ s.executables = ['ctxirb'] #s.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
+
26
+ s.metadata['allowed_push_host'] = 'https://rubygems.org'
27
+
28
+ s.extra_rdoc_files = ['README.md']
29
+ s.rdoc_options = ['--charset=UTF-8']
30
+
31
+ s.add_dependency 'irbtools', '~> 3.0.0'
32
+ s.add_dependency 'irbtools-more', '~> 2.3.1'
33
+ s.add_dependency 'highline', '~> 0.6.1' # For prompts in terminal
34
+ s.add_dependency 'awesome_print', '~> 0.3.2'
35
+ s.add_dependency 'table_print', '~> 1.5.6'
36
+ s.add_dependency 'hirb', '~> 0.7.3'
37
+ s.add_dependency 'pycall'
38
+ s.add_dependency 'concurrent-ruby'
39
+ s.add_development_dependency 'pry', '~> 0'
40
+ s.add_development_dependency 'rake', '~> 13.0'
41
+ s.add_development_dependency 'bundler', '~> 2.0'
42
+ end
@@ -0,0 +1,124 @@
1
+ # === EDITOR ===
2
+ Pry.editor = 'code' # 'vi', 'code', 'subl'
3
+
4
+ # === PROMPT ===
5
+ Pry.prompt = [ ->(obj, nest_level, _) { "✎ " }, ->(obj, nest_level, _) { "#{' ' * nest_level} " } ]
6
+
7
+ # === COLORS ===
8
+ unless ENV['PRY_BW']
9
+ Pry.color = true
10
+ Pry.config.theme = "railscasts"
11
+ Pry.config.prompt = PryRails::RAILS_PROMPT if defined?(PryRails::RAILS_PROMPT)
12
+ Pry.config.prompt ||= Pry.prompt
13
+ end
14
+
15
+ # === HISTORY ===
16
+ Pry.config.history.should_save = true
17
+ Pry::Commands.command /^$/, "repeat last command" do
18
+ _pry_.run_command Pry.history.to_a.last
19
+ end
20
+
21
+ # == Pry-Nav - Using pry as a debugger ==
22
+ Pry.commands.alias_command 'c', 'continue' rescue nil
23
+ Pry.commands.alias_command 's', 'step' rescue nil
24
+ Pry.commands.alias_command 'n', 'next' rescue nil
25
+ Pry.commands.alias_command 'f', 'finish' rescue nil
26
+ Pry.commands.alias_command 'l', 'whereami' rescue nil
27
+
28
+ # === Listing config ===
29
+ # Better colors - by default the headings for methods are too
30
+ # similar to method name colors leading to a "soup"
31
+ # These colors are optimized for use with Solarized scheme
32
+ # for your terminal
33
+ Pry.config.ls.separator = "\n" # new lines between methods
34
+ Pry.config.ls.heading_color = :magenta
35
+ Pry.config.ls.public_method_color = :green
36
+ Pry.config.ls.protected_method_color = :yellow
37
+ Pry.config.ls.private_method_color = :bright_black
38
+
39
+ # == PLUGINS ===
40
+ # awesome_print gem: great syntax colorized printing
41
+ # look at ~/.aprc for more settings for awesome_print
42
+ begin
43
+ require 'awesome_print'
44
+ # The following line enables awesome_print for all pry output,
45
+ # and it also enables paging
46
+ Pry.config.print = proc {|output, value| Pry::Helpers::BaseHelpers.stagger_output("=> #{value.ai}", output)}
47
+
48
+ # If you want awesome_print without automatic pagination, use the line below
49
+ module AwesomePrint
50
+ Formatter.prepend(Module.new do
51
+ def awesome_self(object, type)
52
+ if type == :string && @options[:string_limit] && object.inspect.to_s.length > @options[:string_limit]
53
+ colorize(object.inspect.to_s[0..@options[:string_limit]] + "...", type)
54
+ else
55
+ super(object, type)
56
+ end
57
+ end
58
+ end)
59
+ end
60
+
61
+ AwesomePrint.defaults = {
62
+ :string_limit => 80,
63
+ :indent => 2,
64
+ :multiline => true
65
+ }
66
+ AwesomePrint.pry!
67
+ rescue LoadError => err
68
+ puts "gem install awesome_print # <-- highly recommended"
69
+ end
70
+
71
+ # === CUSTOM COMMANDS ===
72
+ default_command_set = Pry::CommandSet.new do
73
+ command "sql", "Send sql over AR." do |query|
74
+ if ENV['RAILS_ENV'] || defined?(Rails)
75
+ pp ActiveRecord::Base.connection.select_all(query)
76
+ else
77
+ pp "No rails env defined"
78
+ end
79
+ end
80
+ end
81
+
82
+ Pry.config.commands.import default_command_set
83
+
84
+ # === CONVENIENCE METHODS ===
85
+ class Array
86
+ def self.sample(n=10, &block)
87
+ block_given? ? Array.new(n,&block) : Array.new(n) {|i| i+1}
88
+ end
89
+ end
90
+
91
+ class Hash
92
+ def self.sample(n=10)
93
+ (97...97+n).map(&:chr).map(&:to_sym).zip(0...n).to_h
94
+ end
95
+ end
96
+
97
+ # === COLOR CUSTOMIZATION ===
98
+ # Everything below this line is for customizing colors, you have to use the ugly
99
+ # color codes, but such is life.
100
+ CodeRay.scan("example", :ruby).term # just to load necessary files
101
+ # Token colors pulled from: https://github.com/rubychan/coderay/blob/master/lib/coderay/encoders/terminal.rb
102
+
103
+ $LOAD_PATH << File.dirname(File.realpath(__FILE__))
104
+
105
+ # In CodeRay >= 1.1.0 token colors are defined as pre-escaped ANSI codes
106
+ if Gem::Version.new(CodeRay::VERSION) >= Gem::Version.new('1.1.0')
107
+ require "escaped_colors"
108
+ else
109
+ require "unescaped_colors"
110
+ end
111
+
112
+ module CodeRay
113
+ module Encoders
114
+ class Terminal < Encoder
115
+ # override old colors
116
+ TERM_TOKEN_COLORS.each_pair do |key, value|
117
+ TOKEN_COLORS[key] = value
118
+ end
119
+ end
120
+ end
121
+ end
122
+
123
+
124
+
metadata ADDED
@@ -0,0 +1,315 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sigterm_extensions
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - Mikal Villa
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-10-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: irbtools
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: irbtools-more
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.3.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.3.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: highline
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: awesome_print
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.3.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: table_print
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.5.6
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.5.6
83
+ - !ruby/object:Gem::Dependency
84
+ name: hirb
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: pycall
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: concurrent-ruby
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '13.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '13.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: bundler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.0'
167
+ description: Later
168
+ email: mikalv@sigterm.no
169
+ executables:
170
+ - ctxirb
171
+ extensions: []
172
+ extra_rdoc_files:
173
+ - README.md
174
+ files:
175
+ - CHANGELOG.md
176
+ - Gemfile
177
+ - LICENSE.md
178
+ - README.md
179
+ - bin/ctxirb
180
+ - lib/git.rb
181
+ - lib/git/LICENSE
182
+ - lib/git/author.rb
183
+ - lib/git/base.rb
184
+ - lib/git/base/factory.rb
185
+ - lib/git/branch.rb
186
+ - lib/git/branches.rb
187
+ - lib/git/config.rb
188
+ - lib/git/diff.rb
189
+ - lib/git/index.rb
190
+ - lib/git/lib.rb
191
+ - lib/git/log.rb
192
+ - lib/git/object.rb
193
+ - lib/git/path.rb
194
+ - lib/git/remote.rb
195
+ - lib/git/repository.rb
196
+ - lib/git/stash.rb
197
+ - lib/git/stashes.rb
198
+ - lib/git/status.rb
199
+ - lib/git/version.rb
200
+ - lib/git/working_directory.rb
201
+ - lib/sigterm_extensions.rb
202
+ - lib/sigterm_extensions/all.rb
203
+ - lib/sigterm_extensions/backtrace_cleaner.rb
204
+ - lib/sigterm_extensions/callbacks.rb
205
+ - lib/sigterm_extensions/concern.rb
206
+ - lib/sigterm_extensions/configurable.rb
207
+ - lib/sigterm_extensions/core_ext.rb
208
+ - lib/sigterm_extensions/core_ext/array.rb
209
+ - lib/sigterm_extensions/core_ext/array/extract.rb
210
+ - lib/sigterm_extensions/core_ext/array/extract_options.rb
211
+ - lib/sigterm_extensions/core_ext/class.rb
212
+ - lib/sigterm_extensions/core_ext/class/attribute.rb
213
+ - lib/sigterm_extensions/core_ext/class/attribute_accessors.rb
214
+ - lib/sigterm_extensions/core_ext/class/subclasses.rb
215
+ - lib/sigterm_extensions/core_ext/custom.rb
216
+ - lib/sigterm_extensions/core_ext/digest.rb
217
+ - lib/sigterm_extensions/core_ext/digest/uuid.rb
218
+ - lib/sigterm_extensions/core_ext/enumerable.rb
219
+ - lib/sigterm_extensions/core_ext/file.rb
220
+ - lib/sigterm_extensions/core_ext/file/atomic.rb
221
+ - lib/sigterm_extensions/core_ext/hash.rb
222
+ - lib/sigterm_extensions/core_ext/hash/deep_merge.rb
223
+ - lib/sigterm_extensions/core_ext/hash/deep_transform_values.rb
224
+ - lib/sigterm_extensions/core_ext/hash/except.rb
225
+ - lib/sigterm_extensions/core_ext/hash/keys.rb
226
+ - lib/sigterm_extensions/core_ext/hash/reverse_merge.rb
227
+ - lib/sigterm_extensions/core_ext/hash/slice.rb
228
+ - lib/sigterm_extensions/core_ext/kernel.rb
229
+ - lib/sigterm_extensions/core_ext/kernel/concern.rb
230
+ - lib/sigterm_extensions/core_ext/kernel/reporting.rb
231
+ - lib/sigterm_extensions/core_ext/kernel/singleton_class.rb
232
+ - lib/sigterm_extensions/core_ext/load_error.rb
233
+ - lib/sigterm_extensions/core_ext/module.rb
234
+ - lib/sigterm_extensions/core_ext/module/aliasing.rb
235
+ - lib/sigterm_extensions/core_ext/module/anonymous.rb
236
+ - lib/sigterm_extensions/core_ext/module/attr_internal.rb
237
+ - lib/sigterm_extensions/core_ext/module/attribute_accessors.rb
238
+ - lib/sigterm_extensions/core_ext/module/attribute_accessors_per_thread.rb
239
+ - lib/sigterm_extensions/core_ext/module/concerning.rb
240
+ - lib/sigterm_extensions/core_ext/module/delegation.rb
241
+ - lib/sigterm_extensions/core_ext/module/redefine_method.rb
242
+ - lib/sigterm_extensions/core_ext/module/remove_method.rb
243
+ - lib/sigterm_extensions/core_ext/name_error.rb
244
+ - lib/sigterm_extensions/core_ext/object.rb
245
+ - lib/sigterm_extensions/core_ext/object/blank.rb
246
+ - lib/sigterm_extensions/core_ext/object/colors.rb
247
+ - lib/sigterm_extensions/core_ext/object/duplicable.rb
248
+ - lib/sigterm_extensions/core_ext/object/inclusion.rb
249
+ - lib/sigterm_extensions/core_ext/object/instance_variables.rb
250
+ - lib/sigterm_extensions/core_ext/object/methods.rb
251
+ - lib/sigterm_extensions/core_ext/object/with_options.rb
252
+ - lib/sigterm_extensions/core_ext/range.rb
253
+ - lib/sigterm_extensions/core_ext/range/compare_range.rb
254
+ - lib/sigterm_extensions/core_ext/range/conversions.rb
255
+ - lib/sigterm_extensions/core_ext/range/overlaps.rb
256
+ - lib/sigterm_extensions/core_ext/securerandom.rb
257
+ - lib/sigterm_extensions/core_ext/string.rb
258
+ - lib/sigterm_extensions/core_ext/string/access.rb
259
+ - lib/sigterm_extensions/core_ext/string/filters.rb
260
+ - lib/sigterm_extensions/core_ext/string/starts_ends_with.rb
261
+ - lib/sigterm_extensions/core_ext/string/strip.rb
262
+ - lib/sigterm_extensions/core_ext/tryable.rb
263
+ - lib/sigterm_extensions/descendants_tracker.rb
264
+ - lib/sigterm_extensions/gem_methods.rb
265
+ - lib/sigterm_extensions/hash_binding.rb
266
+ - lib/sigterm_extensions/inflector.rb
267
+ - lib/sigterm_extensions/inflector/acronyms.rb
268
+ - lib/sigterm_extensions/inflector/inflections.rb
269
+ - lib/sigterm_extensions/inflector/inflections/defaults.rb
270
+ - lib/sigterm_extensions/inflector/rules.rb
271
+ - lib/sigterm_extensions/inflector/version.rb
272
+ - lib/sigterm_extensions/interactive_editor.rb
273
+ - lib/sigterm_extensions/lazy.rb
274
+ - lib/sigterm_extensions/lazy_load_hooks.rb
275
+ - lib/sigterm_extensions/option_merger.rb
276
+ - lib/sigterm_extensions/ordered_hash.rb
277
+ - lib/sigterm_extensions/ordered_options.rb
278
+ - lib/sigterm_extensions/paths.rb
279
+ - lib/sigterm_extensions/per_thread_registry.rb
280
+ - lib/sigterm_extensions/proxy_object.rb
281
+ - lib/sigterm_extensions/staging/boot.rb
282
+ - lib/sigterm_extensions/staging/boot/bundler_patch.rb
283
+ - lib/sigterm_extensions/staging/boot/command.rb
284
+ - lib/sigterm_extensions/staging/boot/gemfile_next_auto_sync.rb
285
+ - lib/sigterm_extensions/version.rb
286
+ - lib/sigterm_extensions/wrappable.rb
287
+ - sigterm_extensions.gemspec
288
+ - templates/dotpryrc.rb.erb
289
+ homepage: https://rubygems.org/gems/sigterm_extensions
290
+ licenses:
291
+ - MIT
292
+ metadata:
293
+ allowed_push_host: https://rubygems.org
294
+ post_install_message:
295
+ rdoc_options:
296
+ - "--charset=UTF-8"
297
+ require_paths:
298
+ - lib
299
+ required_ruby_version: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: '2.4'
304
+ required_rubygems_version: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ requirements:
310
+ - git 1.6.0.0, or greater
311
+ rubygems_version: 3.0.6
312
+ signing_key:
313
+ specification_version: 4
314
+ summary: Sigterm Extensions
315
+ test_files: []