clowne 1.0.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec-jruby.yml +33 -0
  3. data/.github/workflows/rspec-truffle.yml +35 -0
  4. data/.github/workflows/rspec.yml +51 -0
  5. data/.github/workflows/rubocop.yml +20 -0
  6. data/.rubocop.yml +13 -52
  7. data/CHANGELOG.md +23 -0
  8. data/Gemfile +9 -9
  9. data/README.md +10 -10
  10. data/Rakefile +3 -3
  11. data/clowne.gemspec +15 -9
  12. data/docs/.nojekyll +0 -0
  13. data/docs/.rubocop.yml +5 -2
  14. data/docs/CNAME +1 -0
  15. data/docs/README.md +131 -0
  16. data/docs/_sidebar.md +25 -0
  17. data/docs/active_record.md +2 -5
  18. data/docs/after_clone.md +53 -0
  19. data/docs/after_persist.md +9 -12
  20. data/docs/architecture.md +2 -5
  21. data/docs/assets/docsify.min.js +1 -0
  22. data/docs/assets/prism-ruby.min.js +1 -0
  23. data/docs/assets/styles.css +348 -0
  24. data/docs/assets/vue.css +1 -0
  25. data/docs/clone_mapper.md +3 -6
  26. data/docs/customization.md +1 -4
  27. data/docs/exclude_association.md +1 -4
  28. data/docs/finalize.md +6 -10
  29. data/docs/from_v02_to_v1.md +2 -10
  30. data/docs/getting_started.md +171 -0
  31. data/docs/implicit_cloner.md +1 -4
  32. data/docs/include_association.md +14 -4
  33. data/docs/index.html +29 -0
  34. data/docs/init_as.md +4 -8
  35. data/docs/inline_configuration.md +1 -4
  36. data/docs/nullify.md +1 -5
  37. data/docs/operation.md +4 -7
  38. data/docs/parameters.md +7 -10
  39. data/docs/sequel.md +1 -4
  40. data/docs/supported_adapters.md +3 -6
  41. data/docs/testing.md +18 -21
  42. data/docs/traits.md +1 -4
  43. data/gemfiles/activerecord42.gemfile +5 -5
  44. data/gemfiles/jruby.gemfile +6 -6
  45. data/gemfiles/railsmaster.gemfile +6 -6
  46. data/lib/clowne/adapters/active_record/associations/base.rb +1 -1
  47. data/lib/clowne/adapters/active_record/associations/belongs_to.rb +28 -0
  48. data/lib/clowne/adapters/active_record/associations/has_one.rb +1 -2
  49. data/lib/clowne/adapters/active_record/associations.rb +7 -5
  50. data/lib/clowne/adapters/active_record/dsl.rb +2 -2
  51. data/lib/clowne/adapters/active_record/resolvers/association.rb +1 -2
  52. data/lib/clowne/adapters/active_record.rb +3 -3
  53. data/lib/clowne/adapters/base/association.rb +1 -1
  54. data/lib/clowne/adapters/base.rb +14 -8
  55. data/lib/clowne/adapters/sequel/associations/base.rb +2 -2
  56. data/lib/clowne/adapters/sequel/associations/many_to_many.rb +4 -4
  57. data/lib/clowne/adapters/sequel/associations/one_to_many.rb +1 -1
  58. data/lib/clowne/adapters/sequel/associations/one_to_one.rb +1 -1
  59. data/lib/clowne/adapters/sequel/associations.rb +5 -5
  60. data/lib/clowne/adapters/sequel/operation.rb +6 -3
  61. data/lib/clowne/adapters/sequel/resolvers/after_persist.rb +1 -1
  62. data/lib/clowne/adapters/sequel/resolvers/association.rb +1 -2
  63. data/lib/clowne/adapters/sequel/specifications/after_persist_does_not_support.rb +1 -1
  64. data/lib/clowne/adapters/sequel.rb +7 -7
  65. data/lib/clowne/cloner.rb +11 -11
  66. data/lib/clowne/declarations/after_clone.rb +21 -0
  67. data/lib/clowne/declarations/after_persist.rb +3 -3
  68. data/lib/clowne/declarations/exclude_association.rb +1 -1
  69. data/lib/clowne/declarations/finalize.rb +3 -3
  70. data/lib/clowne/declarations/include_association.rb +1 -1
  71. data/lib/clowne/declarations/init_as.rb +3 -3
  72. data/lib/clowne/declarations/nullify.rb +2 -2
  73. data/lib/clowne/declarations/trait.rb +1 -1
  74. data/lib/clowne/declarations.rb +15 -14
  75. data/lib/clowne/ext/orm_ext.rb +1 -1
  76. data/lib/clowne/ext/record_key.rb +1 -1
  77. data/lib/clowne/ext/string_constantize.rb +1 -1
  78. data/lib/clowne/ext/yield_self_then.rb +2 -2
  79. data/lib/clowne/planner.rb +1 -1
  80. data/lib/clowne/resolvers/after_clone.rb +18 -0
  81. data/lib/clowne/resolvers/after_persist.rb +1 -1
  82. data/lib/clowne/resolvers/finalize.rb +1 -1
  83. data/lib/clowne/resolvers/init_as.rb +0 -1
  84. data/lib/clowne/rspec/clone_association.rb +3 -4
  85. data/lib/clowne/rspec/clone_associations.rb +2 -2
  86. data/lib/clowne/rspec/helpers.rb +1 -1
  87. data/lib/clowne/rspec.rb +3 -3
  88. data/lib/clowne/utils/clone_mapper.rb +1 -1
  89. data/lib/clowne/utils/operation.rb +19 -7
  90. data/lib/clowne/utils/params.rb +1 -1
  91. data/lib/clowne/version.rb +1 -1
  92. data/lib/clowne.rb +10 -11
  93. metadata +60 -38
  94. data/.travis.yml +0 -55
  95. data/docs/alternatives.md +0 -26
  96. data/docs/basic_example.md +0 -83
  97. data/docs/installation.md +0 -46
  98. data/docs/overview.md +0 -24
  99. data/docs/web/.gitignore +0 -11
  100. data/docs/web/README.md +0 -6
  101. data/docs/web/core/Footer.js +0 -88
  102. data/docs/web/i18n/en.json +0 -140
  103. data/docs/web/package.json +0 -14
  104. data/docs/web/pages/en/help.js +0 -50
  105. data/docs/web/pages/en/index.js +0 -231
  106. data/docs/web/pages/en/users.js +0 -47
  107. data/docs/web/sidebars.json +0 -37
  108. data/docs/web/siteConfig.js +0 -46
  109. data/docs/web/static/css/custom.css +0 -235
  110. data/docs/web/static/fonts/FiraCode-Medium.woff +0 -0
  111. data/docs/web/static/fonts/FiraCode-Regular.woff +0 -0
  112. data/docs/web/static/img/favicon/favicon.ico +0 -0
  113. data/docs/web/yarn.lock +0 -1741
@@ -1,235 +0,0 @@
1
- /* your custom css */
2
-
3
- @font-face {
4
- font-weight: 400;
5
- font-style: normal;
6
- font-family: "Stem Text";
7
- src: url("//cdn.evilmartians.com/front/fonts/subset-StemText-Regular.woff") format("woff");
8
- }
9
- @font-face {
10
- font-weight: 700;
11
- font-style: normal;
12
- font-family: "Stem Text";
13
- src: url("//cdn.evilmartians.com/front/fonts/subset-StemText-Bold.woff") format("woff");
14
- }
15
-
16
- @font-face {
17
- font-family: "Fira Code";
18
- src: url("../fonts/FiraCode-Regular.woff") format("woff");
19
- }
20
-
21
- body {
22
- font: 18px/30px "Stem Text", "Arial", sans-serif;
23
- color: #363636;
24
- background: #fff;
25
- }
26
-
27
- pre code {
28
- font-family: "Fira Code";
29
- font-size: 16px;
30
- }
31
-
32
- code {
33
- font-family: "Fira Code";
34
- font-size: 0.9em;
35
- }
36
-
37
- p {
38
- line-height: initial;
39
- }
40
-
41
- footer .sitemap div {
42
- flex: none;
43
- }
44
-
45
- .fixedHeaderContainer {
46
- box-sizing: border-box;
47
- background: #fff;
48
- border-bottom: solid 1px #e3e3e3;
49
- }
50
-
51
- .fixedHeaderContainer a {
52
- color: #9FA628;
53
- }
54
-
55
- header h2 {
56
- color: #9FA628;
57
- text-transform: uppercase;
58
- }
59
-
60
- .container .wrapper h2 {
61
- font-weight: bold;
62
- }
63
-
64
- .mainContainer .wrapper a {
65
- text-decoration: underline;
66
- }
67
-
68
- .projectTitle {
69
- color: #111;
70
- }
71
-
72
- .projectTitleName {
73
- color: #9FA628;
74
- }
75
-
76
- .mainContainer .wrapper a:hover {
77
- text-decoration: none;
78
- }
79
-
80
- .mainContainer .wrapper .post h3 {
81
- font-weight: bold;
82
- }
83
-
84
- small {
85
- font-size: 80%;
86
- }
87
-
88
- .navigationSlider .slidingNav ul li a {
89
- color: #9FA628;
90
- }
91
-
92
- nav.toc .toggleNav .navGroup.navGroupActive {
93
- background: #fafafa;
94
- color: #363636;
95
- }
96
-
97
- .mainContainer .wrapper .post .postHeader h1 {
98
- margin-bottom: 30px;
99
- }
100
-
101
- .hljs-doctag {
102
- color: #a0a1a7;
103
- }
104
-
105
- @keyframes humanoids-blink{
106
-
107
- 0%, 48%{
108
- transform: scaleY(1);
109
- }
110
-
111
- 50%{
112
- transform: scaleY(0);
113
- }
114
-
115
- 52%, 100%{
116
- transform: scaleY(1);
117
- }
118
- }
119
-
120
- .humanoids{
121
- position: absolute;
122
- bottom: -10px;
123
- width: 150px;
124
- height: 60px;
125
- margin: 0 auto 0 -10px;
126
- font-size: 0;
127
- }
128
- .humanoids circle{
129
- transform: scaleY(1);
130
- transform-origin: 50%;
131
- animation-duration: 8s;
132
- animation-name: humanoids-blink;
133
- animation-iteration-count: infinite;
134
- }
135
- .humanoids svg{
136
- height: 60px;
137
- }
138
- .humanoids__human, .humanoids__martian{
139
- position: absolute;
140
- width: 80px;
141
- height: 90px;
142
- transition: transform 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
143
- transform: translateY(0);
144
- }
145
- .humanoids__human:hover, .humanoids__martian:hover{
146
- transform: translateY(-12px);
147
- }
148
- .humanoids__martian{
149
- left: 0;
150
- }
151
- .humanoids__human{
152
- right: 0;
153
- }
154
- .humanoids__human circle{
155
- animation-delay: 0.5s;
156
- }
157
-
158
- footer{
159
- width: 100%;
160
- z-index: 20;
161
- padding: 60px;
162
- justify-content: flex-end;
163
- position: relative;
164
- overflow: hidden;
165
- }
166
-
167
- footer.nav-footer {
168
- box-shadow: none;
169
- background: #363636;
170
- }
171
-
172
- footer .sitemap a {
173
- display: inline;
174
- }
175
-
176
- footer h5{
177
- color: white;
178
- font-weight: normal;
179
- }
180
- .footer--block{
181
- color: white;
182
- font-size: 14px;
183
- position: relative;
184
- }
185
-
186
- .footer--copy {
187
- margin: 0 0 10px;
188
- }
189
-
190
- .footer--block.legals{
191
- color:rgba(255, 255, 255, 0.6);
192
- }
193
- .footer--humanoids{
194
- position: absolute;
195
- bottom: -10px;
196
- margin-left: 50%;
197
- left: -60px;
198
- }
199
- .copy{
200
- position: relative;
201
- }
202
- .copy:before{
203
- content: '©';
204
- position: absolute;
205
- left: -20px;
206
- top: 0;
207
- line-height: 10px;
208
- }
209
-
210
- @media only screen and (min-device-width: 360px) and (max-device-width: 736px) {
211
- .footer--block:not(:first-child) {
212
- margin-top: 2em;
213
- }
214
- }
215
-
216
- @media only screen and (min-width: 1024px) {
217
- }
218
-
219
- @media only screen and (max-width: 1023px) {
220
- }
221
-
222
- @media only screen and (min-width: 1400px) {
223
- }
224
-
225
- @media only screen and (min-width: 1500px) {
226
- }
227
-
228
- .projectTitleName{
229
- font-weight: bold;
230
- }
231
-
232
- .mainContainer {
233
- background: none;
234
- border-top: 1px solid #e3e3e3;
235
- }