lazy_migrate 0.1.0 → 0.2.0

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/Appraisals +9 -0
  4. data/Gemfile.lock +133 -4
  5. data/Guardfile +39 -0
  6. data/README.md +56 -6
  7. data/Rakefile +1 -3
  8. data/bin/exe/lazy_migrate +14 -1
  9. data/gemfiles/.bundle/config +2 -0
  10. data/gemfiles/rails_5_1_5.gemfile +8 -0
  11. data/gemfiles/rails_5_1_5.gemfile.lock +170 -0
  12. data/gemfiles/rails_5_2_4_3.gemfile +8 -0
  13. data/gemfiles/rails_5_2_4_3.gemfile.lock +178 -0
  14. data/github/demo.gif +0 -0
  15. data/lazy_migrate.gemspec +9 -3
  16. data/lib/lazy_migrate.rb +6 -2
  17. data/lib/lazy_migrate/client.rb +123 -0
  18. data/lib/lazy_migrate/migration.rb +14 -0
  19. data/lib/lazy_migrate/migrator_adapter.rb +144 -0
  20. data/lib/lazy_migrate/migrator_adapter_factory.rb +24 -0
  21. data/lib/lazy_migrate/new_migrator_adapter.rb +85 -0
  22. data/lib/lazy_migrate/old_migrator_adapter.rb +97 -0
  23. data/lib/lazy_migrate/version.rb +2 -1
  24. data/lib/tasks/lazy_migrate.rake +10 -0
  25. data/sorbet/config +2 -0
  26. data/sorbet/rbi/gems/actioncable.rbi +393 -0
  27. data/sorbet/rbi/gems/actionmailer.rbi +425 -0
  28. data/sorbet/rbi/gems/actionpack.rbi +3230 -0
  29. data/sorbet/rbi/gems/actionview.rbi +1153 -0
  30. data/sorbet/rbi/gems/activejob.rbi +282 -0
  31. data/sorbet/rbi/gems/activemodel.rbi +742 -0
  32. data/sorbet/rbi/gems/activerecord.rbi +4004 -0
  33. data/sorbet/rbi/gems/activestorage.rbi +174 -0
  34. data/sorbet/rbi/gems/activesupport.rbi +2300 -0
  35. data/sorbet/rbi/gems/appraisal.rbi +151 -0
  36. data/sorbet/rbi/gems/arel.rbi +1253 -0
  37. data/sorbet/rbi/gems/byebug.rbi +1041 -0
  38. data/sorbet/rbi/gems/coderay.rbi +92 -0
  39. data/sorbet/rbi/gems/concurrent-ruby.rbi +1586 -0
  40. data/sorbet/rbi/gems/crass.rbi +93 -0
  41. data/sorbet/rbi/gems/erubi.rbi +27 -0
  42. data/sorbet/rbi/gems/globalid.rbi +99 -0
  43. data/sorbet/rbi/gems/i18n.rbi +192 -0
  44. data/sorbet/rbi/gems/loofah.rbi +131 -0
  45. data/sorbet/rbi/gems/mail.rbi +1092 -0
  46. data/sorbet/rbi/gems/marcel.rbi +13 -0
  47. data/sorbet/rbi/gems/method_source.rbi +64 -0
  48. data/sorbet/rbi/gems/mini_mime.rbi +52 -0
  49. data/sorbet/rbi/gems/minitest.rbi +282 -0
  50. data/sorbet/rbi/gems/nio4r.rbi +68 -0
  51. data/sorbet/rbi/gems/nokogiri.rbi +1011 -0
  52. data/sorbet/rbi/gems/pastel.rbi +119 -0
  53. data/sorbet/rbi/gems/pry-byebug.rbi +155 -0
  54. data/sorbet/rbi/gems/pry.rbi +1949 -0
  55. data/sorbet/rbi/gems/rack-test.rbi +162 -0
  56. data/sorbet/rbi/gems/rack.rbi +525 -0
  57. data/sorbet/rbi/gems/rails-dom-testing.rbi +68 -0
  58. data/sorbet/rbi/gems/rails-html-sanitizer.rbi +92 -0
  59. data/sorbet/rbi/gems/railties.rbi +724 -0
  60. data/sorbet/rbi/gems/rake.rbi +666 -0
  61. data/sorbet/rbi/gems/rspec-core.rbi +1939 -0
  62. data/sorbet/rbi/gems/rspec-expectations.rbi +1123 -0
  63. data/sorbet/rbi/gems/rspec-mocks.rbi +1090 -0
  64. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  65. data/sorbet/rbi/gems/rspec.rbi +15 -0
  66. data/sorbet/rbi/gems/sprockets-rails.rbi +106 -0
  67. data/sorbet/rbi/gems/sprockets.rbi +755 -0
  68. data/sorbet/rbi/gems/sqlite3.rbi +354 -0
  69. data/sorbet/rbi/gems/thor.rbi +580 -0
  70. data/sorbet/rbi/gems/thread_safe.rbi +82 -0
  71. data/sorbet/rbi/gems/tty-color.rbi +44 -0
  72. data/sorbet/rbi/gems/tty-cursor.rbi +72 -0
  73. data/sorbet/rbi/gems/tty-prompt.rbi +531 -0
  74. data/sorbet/rbi/gems/tty-reader.rbi +176 -0
  75. data/sorbet/rbi/gems/tty-screen.rbi +66 -0
  76. data/sorbet/rbi/gems/tzinfo.rbi +406 -0
  77. data/sorbet/rbi/gems/websocket-driver.rbi +103 -0
  78. data/sorbet/rbi/gems/websocket-extensions.rbi +29 -0
  79. data/sorbet/rbi/gems/wisper.rbi +130 -0
  80. data/sorbet/rbi/hidden-definitions/errors.txt +7584 -0
  81. data/sorbet/rbi/hidden-definitions/hidden.rbi +13328 -0
  82. data/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  83. data/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +954 -0
  84. data/sorbet/rbi/sorbet-typed/lib/actionview/all/actionview.rbi +321 -0
  85. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +597 -0
  86. data/sorbet/rbi/sorbet-typed/lib/activerecord/<6/activerecord.rbi +13 -0
  87. data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5.2/activerecord.rbi +16 -0
  88. data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5/activerecord.rbi +53 -0
  89. data/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +1454 -0
  90. data/sorbet/rbi/sorbet-typed/lib/activerecord/all/model_schema.rbi +79 -0
  91. data/sorbet/rbi/sorbet-typed/lib/activerecord/all/sanitization.rbi +36 -0
  92. data/sorbet/rbi/sorbet-typed/lib/activerecord/~>5.2.0/activerecord.rbi +447 -0
  93. data/sorbet/rbi/sorbet-typed/lib/activestorage/<=6.1/activestorage.rbi +82 -0
  94. data/sorbet/rbi/sorbet-typed/lib/activestorage/all/activestorage.rbi +177 -0
  95. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +1431 -0
  96. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +108 -0
  97. data/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +25 -0
  98. data/sorbet/rbi/todo.rbi +18 -0
  99. data/sorbet/rbi/user-defined/activerecord.rbi +56 -0
  100. metadata +181 -7
  101. data/lib/lazy_migrate/migrator.rb +0 -186
@@ -0,0 +1,93 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/crass/all/crass.rbi
9
+ #
10
+ # crass-1.0.6
11
+
12
+ module Crass
13
+ def self.parse(input, options = nil); end
14
+ def self.parse_properties(input, options = nil); end
15
+ end
16
+ class Crass::TokenScanner
17
+ def collect; end
18
+ def consume; end
19
+ def current; end
20
+ def initialize(tokens); end
21
+ def peek; end
22
+ def pos; end
23
+ def reconsume; end
24
+ def reset; end
25
+ def tokens; end
26
+ end
27
+ class Crass::Scanner
28
+ def consume; end
29
+ def consume_rest; end
30
+ def current; end
31
+ def eos?; end
32
+ def initialize(input); end
33
+ def mark; end
34
+ def marked; end
35
+ def marker; end
36
+ def marker=(arg0); end
37
+ def peek(length = nil); end
38
+ def pos; end
39
+ def pos=(arg0); end
40
+ def reconsume; end
41
+ def reset; end
42
+ def scan(pattern); end
43
+ def scan_until(pattern); end
44
+ def string; end
45
+ end
46
+ class Crass::Tokenizer
47
+ def consume; end
48
+ def consume_bad_url; end
49
+ def consume_comments; end
50
+ def consume_escaped; end
51
+ def consume_ident; end
52
+ def consume_name; end
53
+ def consume_number; end
54
+ def consume_numeric; end
55
+ def consume_string(ending = nil); end
56
+ def consume_unicode_range; end
57
+ def consume_url; end
58
+ def convert_string_to_number(str); end
59
+ def create_token(type, properties = nil); end
60
+ def initialize(input, options = nil); end
61
+ def preprocess(input); end
62
+ def self.tokenize(input, options = nil); end
63
+ def start_identifier?(text = nil); end
64
+ def start_number?(text = nil); end
65
+ def tokenize; end
66
+ def valid_escape?(text = nil); end
67
+ end
68
+ class Crass::Parser
69
+ def consume_at_rule(input = nil); end
70
+ def consume_component_value(input = nil); end
71
+ def consume_declaration(input = nil); end
72
+ def consume_declarations(input = nil, options = nil); end
73
+ def consume_function(input = nil); end
74
+ def consume_qualified_rule(input = nil); end
75
+ def consume_rules(flags = nil); end
76
+ def consume_simple_block(input = nil); end
77
+ def create_node(type, properties = nil); end
78
+ def create_selector(input); end
79
+ def create_style_rule(rule); end
80
+ def initialize(input, options = nil); end
81
+ def parse_component_value(input = nil); end
82
+ def parse_component_values(input = nil); end
83
+ def parse_declaration(input = nil); end
84
+ def parse_declarations(input = nil, options = nil); end
85
+ def parse_properties(input = nil); end
86
+ def parse_rule(input = nil); end
87
+ def parse_value(nodes); end
88
+ def self.parse_properties(input, options = nil); end
89
+ def self.parse_rules(input, options = nil); end
90
+ def self.parse_stylesheet(input, options = nil); end
91
+ def self.stringify(nodes, options = nil); end
92
+ def tokens; end
93
+ end
@@ -0,0 +1,27 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/erubi/all/erubi.rbi
9
+ #
10
+ # erubi-1.9.0
11
+
12
+ module Erubi
13
+ def self.h(value); end
14
+ end
15
+ class Erubi::Engine
16
+ def add_code(code); end
17
+ def add_expression(indicator, code); end
18
+ def add_expression_result(code); end
19
+ def add_expression_result_escaped(code); end
20
+ def add_postamble(postamble); end
21
+ def add_text(text); end
22
+ def bufvar; end
23
+ def filename; end
24
+ def handle(indicator, code, tailch, rspace, lspace); end
25
+ def initialize(input, properties = nil); end
26
+ def src; end
27
+ end
@@ -0,0 +1,99 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/globalid/all/globalid.rbi
9
+ #
10
+ # globalid-0.4.2
11
+
12
+ module URI
13
+ end
14
+ class URI::GID < URI::Generic
15
+ def app; end
16
+ def check_host(host); end
17
+ def check_path(path); end
18
+ def check_scheme(scheme); end
19
+ def model_id; end
20
+ def model_name; end
21
+ def params; end
22
+ def parse_query_params(query); end
23
+ def query=(query); end
24
+ def self.build(args); end
25
+ def self.create(app, model, params = nil); end
26
+ def self.parse(uri); end
27
+ def self.validate_app(app); end
28
+ def set_model_components(path, validate = nil); end
29
+ def set_params(params); end
30
+ def set_path(path); end
31
+ def set_query(query); end
32
+ def to_s; end
33
+ def validate_component(component); end
34
+ def validate_model_id(model_id, model_name); end
35
+ end
36
+ class URI::GID::MissingModelIdError < URI::InvalidComponentError
37
+ end
38
+ class GlobalID
39
+ def ==(other); end
40
+ def app(*args, &block); end
41
+ def eql?(other); end
42
+ def find(options = nil); end
43
+ def hash; end
44
+ def initialize(gid, options = nil); end
45
+ def model_class; end
46
+ def model_id(*args, &block); end
47
+ def model_name(*args, &block); end
48
+ def params(*args, &block); end
49
+ def self.app; end
50
+ def self.app=(app); end
51
+ def self.create(model, options = nil); end
52
+ def self.eager_load!; end
53
+ def self.find(gid, options = nil); end
54
+ def self.parse(gid, options = nil); end
55
+ def self.parse_encoded_gid(gid, options); end
56
+ def self.repad_gid(gid); end
57
+ def to_param; end
58
+ def to_s(*args, &block); end
59
+ def uri; end
60
+ extend ActiveSupport::Autoload
61
+ end
62
+ class GlobalID::Railtie < Rails::Railtie
63
+ end
64
+ class SignedGlobalID < GlobalID
65
+ def ==(other); end
66
+ def encoded_expiration; end
67
+ def expires_at; end
68
+ def initialize(gid, options = nil); end
69
+ def pick_expiration(options); end
70
+ def purpose; end
71
+ def self.expires_in; end
72
+ def self.expires_in=(arg0); end
73
+ def self.parse(sgid, options = nil); end
74
+ def self.pick_purpose(options); end
75
+ def self.pick_verifier(options); end
76
+ def self.raise_if_expired(expires_at); end
77
+ def self.verifier; end
78
+ def self.verifier=(arg0); end
79
+ def self.verify(sgid, options); end
80
+ def to_h; end
81
+ def to_param; end
82
+ def to_s; end
83
+ def verifier; end
84
+ end
85
+ class SignedGlobalID::ExpiredMessage < StandardError
86
+ end
87
+ module GlobalID::Identification
88
+ def to_gid(options = nil); end
89
+ def to_gid_param(options = nil); end
90
+ def to_global_id(options = nil); end
91
+ def to_sgid(options = nil); end
92
+ def to_sgid_param(options = nil); end
93
+ def to_signed_global_id(options = nil); end
94
+ extend ActiveSupport::Concern
95
+ end
96
+ class GlobalID::Verifier < ActiveSupport::MessageVerifier
97
+ def decode(data); end
98
+ def encode(data); end
99
+ end
@@ -0,0 +1,192 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/i18n/all/i18n.rbi
9
+ #
10
+ # i18n-1.8.5
11
+
12
+ module I18n
13
+ def self.interpolate(string, values); end
14
+ def self.interpolate_hash(string, values); end
15
+ def self.new_double_nested_cache; end
16
+ extend I18n::Base
17
+ end
18
+ class I18n::ExceptionHandler
19
+ def call(exception, _locale, _key, _options); end
20
+ end
21
+ class I18n::ArgumentError < ArgumentError
22
+ end
23
+ class I18n::Disabled < I18n::ArgumentError
24
+ def initialize(method); end
25
+ end
26
+ class I18n::InvalidLocale < I18n::ArgumentError
27
+ def initialize(locale); end
28
+ def locale; end
29
+ end
30
+ class I18n::InvalidLocaleData < I18n::ArgumentError
31
+ def filename; end
32
+ def initialize(filename, exception_message); end
33
+ end
34
+ class I18n::MissingTranslation < I18n::ArgumentError
35
+ include I18n::MissingTranslation::Base
36
+ end
37
+ module I18n::MissingTranslation::Base
38
+ def initialize(locale, key, options = nil); end
39
+ def key; end
40
+ def keys; end
41
+ def locale; end
42
+ def message; end
43
+ def options; end
44
+ def to_exception; end
45
+ def to_s; end
46
+ end
47
+ class I18n::MissingTranslationData < I18n::ArgumentError
48
+ include I18n::MissingTranslation::Base
49
+ end
50
+ class I18n::InvalidPluralizationData < I18n::ArgumentError
51
+ def count; end
52
+ def entry; end
53
+ def initialize(entry, count, key); end
54
+ def key; end
55
+ end
56
+ class I18n::MissingInterpolationArgument < I18n::ArgumentError
57
+ def initialize(key, values, string); end
58
+ def key; end
59
+ def string; end
60
+ def values; end
61
+ end
62
+ class I18n::ReservedInterpolationKey < I18n::ArgumentError
63
+ def initialize(key, string); end
64
+ def key; end
65
+ def string; end
66
+ end
67
+ class I18n::UnknownFileType < I18n::ArgumentError
68
+ def filename; end
69
+ def initialize(type, filename); end
70
+ def type; end
71
+ end
72
+ module I18n::Base
73
+ def available_locales; end
74
+ def available_locales=(value); end
75
+ def available_locales_initialized?; end
76
+ def backend; end
77
+ def backend=(value); end
78
+ def config; end
79
+ def config=(value); end
80
+ def default_locale; end
81
+ def default_locale=(value); end
82
+ def default_separator; end
83
+ def default_separator=(value); end
84
+ def eager_load!; end
85
+ def enforce_available_locales!(locale); end
86
+ def enforce_available_locales; end
87
+ def enforce_available_locales=(value); end
88
+ def exception_handler; end
89
+ def exception_handler=(value); end
90
+ def exists?(key, _locale = nil, locale: nil, **options); end
91
+ def handle_exception(handling, exception, locale, key, options); end
92
+ def l(object, locale: nil, format: nil, **options); end
93
+ def load_path; end
94
+ def load_path=(value); end
95
+ def locale; end
96
+ def locale=(value); end
97
+ def locale_available?(locale); end
98
+ def localize(object, locale: nil, format: nil, **options); end
99
+ def normalize_key(key, separator); end
100
+ def normalize_keys(locale, key, scope, separator = nil); end
101
+ def reload!; end
102
+ def t!(key, options = nil); end
103
+ def t(key = nil, *arg1, throw: nil, raise: nil, locale: nil, **options); end
104
+ def translate!(key, options = nil); end
105
+ def translate(key = nil, *arg1, throw: nil, raise: nil, locale: nil, **options); end
106
+ def transliterate(key, *arg1, throw: nil, raise: nil, locale: nil, replacement: nil, **options); end
107
+ def with_locale(tmp_locale = nil); end
108
+ end
109
+ class I18n::Config
110
+ def available_locales; end
111
+ def available_locales=(locales); end
112
+ def available_locales_initialized?; end
113
+ def available_locales_set; end
114
+ def backend; end
115
+ def backend=(backend); end
116
+ def clear_available_locales_set; end
117
+ def default_locale; end
118
+ def default_locale=(locale); end
119
+ def default_separator; end
120
+ def default_separator=(separator); end
121
+ def enforce_available_locales; end
122
+ def enforce_available_locales=(enforce_available_locales); end
123
+ def exception_handler; end
124
+ def exception_handler=(exception_handler); end
125
+ def interpolation_patterns; end
126
+ def interpolation_patterns=(interpolation_patterns); end
127
+ def load_path; end
128
+ def load_path=(load_path); end
129
+ def locale; end
130
+ def locale=(locale); end
131
+ def missing_interpolation_argument_handler; end
132
+ def missing_interpolation_argument_handler=(exception_handler); end
133
+ end
134
+ module I18n::Backend
135
+ end
136
+ module I18n::HashRefinements
137
+ end
138
+ module I18n::Backend::Transliterator
139
+ def self.get(rule = nil); end
140
+ def transliterate(locale, string, replacement = nil); end
141
+ end
142
+ class I18n::Backend::Transliterator::ProcTransliterator
143
+ def initialize(rule); end
144
+ def transliterate(string, replacement = nil); end
145
+ end
146
+ class I18n::Backend::Transliterator::HashTransliterator
147
+ def add(hash); end
148
+ def add_default_approximations; end
149
+ def approximations; end
150
+ def initialize(rule = nil); end
151
+ def transliterate(string, replacement = nil); end
152
+ end
153
+ module I18n::Backend::Base
154
+ def available_locales; end
155
+ def deep_interpolate(locale, data, values = nil); end
156
+ def default(locale, object, subject, options = nil); end
157
+ def eager_load!; end
158
+ def eager_loaded?; end
159
+ def exists?(locale, key, options = nil); end
160
+ def interpolate(locale, subject, values = nil); end
161
+ def load_file(filename); end
162
+ def load_json(filename); end
163
+ def load_rb(filename); end
164
+ def load_translations(*filenames); end
165
+ def load_yaml(filename); end
166
+ def load_yml(filename); end
167
+ def localize(locale, object, format = nil, options = nil); end
168
+ def lookup(locale, key, scope = nil, options = nil); end
169
+ def pluralization_key(entry, count); end
170
+ def pluralize(locale, entry, count); end
171
+ def reload!; end
172
+ def resolve(locale, object, subject, options = nil); end
173
+ def store_translations(locale, data, options = nil); end
174
+ def subtrees?; end
175
+ def translate(locale, key, options = nil); end
176
+ def translate_localization_format(locale, object, format, options); end
177
+ include I18n::Backend::Transliterator
178
+ end
179
+ class I18n::Backend::Simple
180
+ include I18n::Backend::Simple::Implementation
181
+ end
182
+ module I18n::Backend::Simple::Implementation
183
+ def available_locales; end
184
+ def eager_load!; end
185
+ def init_translations; end
186
+ def initialized?; end
187
+ def lookup(locale, key, scope = nil, options = nil); end
188
+ def reload!; end
189
+ def store_translations(locale, data, options = nil); end
190
+ def translations(do_init: nil); end
191
+ include I18n::Backend::Base
192
+ end
@@ -0,0 +1,131 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: true
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/loofah/all/loofah.rbi
9
+ #
10
+ # loofah-2.6.0
11
+
12
+ module Loofah
13
+ def self.document(*args, &block); end
14
+ def self.fragment(*args, &block); end
15
+ def self.remove_comments_before_html_element(doc); end
16
+ def self.remove_extraneous_whitespace(string); end
17
+ def self.scrub_document(string_or_io, method); end
18
+ def self.scrub_fragment(string_or_io, method); end
19
+ def self.scrub_xml_document(string_or_io, method); end
20
+ def self.scrub_xml_fragment(string_or_io, method); end
21
+ def self.xml_document(*args, &block); end
22
+ def self.xml_fragment(*args, &block); end
23
+ end
24
+ module Loofah::MetaHelpers
25
+ def self.add_downcased_set_members_to_all_set_constants(mojule); end
26
+ end
27
+ module Loofah::Elements
28
+ end
29
+ module Loofah::HTML5
30
+ end
31
+ module Loofah::HTML5::SafeList
32
+ end
33
+ module Loofah::LibxmlWorkarounds
34
+ end
35
+ module Loofah::HTML5::Scrub
36
+ def self.allowed_element?(element_name); end
37
+ def self.force_correct_attribute_escaping!(node); end
38
+ def self.scrub_attributes(node); end
39
+ def self.scrub_css(style); end
40
+ def self.scrub_css_attribute(node); end
41
+ end
42
+ class Loofah::ScrubberNotFound < RuntimeError
43
+ end
44
+ class Loofah::Scrubber
45
+ def append_attribute(node, attribute, value); end
46
+ def block; end
47
+ def direction; end
48
+ def html5lib_sanitize(node); end
49
+ def initialize(options = nil, &block); end
50
+ def scrub(node); end
51
+ def traverse(node); end
52
+ def traverse_conditionally_bottom_up(node); end
53
+ def traverse_conditionally_top_down(node); end
54
+ end
55
+ module Loofah::Scrubbers
56
+ def self.scrubber_symbols; end
57
+ end
58
+ class Loofah::Scrubbers::Strip < Loofah::Scrubber
59
+ def initialize; end
60
+ def scrub(node); end
61
+ end
62
+ class Loofah::Scrubbers::Prune < Loofah::Scrubber
63
+ def initialize; end
64
+ def scrub(node); end
65
+ end
66
+ class Loofah::Scrubbers::Escape < Loofah::Scrubber
67
+ def initialize; end
68
+ def scrub(node); end
69
+ end
70
+ class Loofah::Scrubbers::Whitewash < Loofah::Scrubber
71
+ def initialize; end
72
+ def scrub(node); end
73
+ end
74
+ class Loofah::Scrubbers::NoFollow < Loofah::Scrubber
75
+ def initialize; end
76
+ def scrub(node); end
77
+ end
78
+ class Loofah::Scrubbers::NoOpener < Loofah::Scrubber
79
+ def initialize; end
80
+ def scrub(node); end
81
+ end
82
+ class Loofah::Scrubbers::NewlineBlockElements < Loofah::Scrubber
83
+ def initialize; end
84
+ def scrub(node); end
85
+ end
86
+ class Loofah::Scrubbers::Unprintable < Loofah::Scrubber
87
+ def initialize; end
88
+ def scrub(node); end
89
+ end
90
+ module Loofah::ScrubBehavior
91
+ def self.resolve_scrubber(scrubber); end
92
+ end
93
+ module Loofah::ScrubBehavior::Node
94
+ def scrub!(scrubber); end
95
+ end
96
+ module Loofah::ScrubBehavior::NodeSet
97
+ def scrub!(scrubber); end
98
+ end
99
+ module Loofah::TextBehavior
100
+ def inner_text(options = nil); end
101
+ def text(options = nil); end
102
+ def to_str(options = nil); end
103
+ def to_text(options = nil); end
104
+ end
105
+ module Loofah::DocumentDecorator
106
+ def initialize(*args, &block); end
107
+ end
108
+ module Loofah::XML
109
+ end
110
+ class Loofah::XML::Document < Nokogiri::XML::Document
111
+ include Loofah::DocumentDecorator
112
+ include Loofah::ScrubBehavior::Node
113
+ end
114
+ class Loofah::XML::DocumentFragment < Nokogiri::XML::DocumentFragment
115
+ def self.parse(tags); end
116
+ end
117
+ module Loofah::HTML
118
+ end
119
+ class Loofah::HTML::Document < Nokogiri::HTML::Document
120
+ def serialize_root; end
121
+ include Loofah::DocumentDecorator
122
+ include Loofah::ScrubBehavior::Node
123
+ include Loofah::TextBehavior
124
+ end
125
+ class Loofah::HTML::DocumentFragment < Nokogiri::HTML::DocumentFragment
126
+ def self.parse(tags, encoding = nil); end
127
+ def serialize; end
128
+ def serialize_root; end
129
+ def to_s; end
130
+ include Loofah::TextBehavior
131
+ end