sigterm_extensions 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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: []