mT(ʸۀ0 x\&n+YARBrtx86_64-linux**7 8U.*19** U/*  * . * *  * *7 8.7 8.*1     '-35AMOSUV  ** U .H**1!-!** H**17** H**1 !"#" Ai **  H**1%&'('q K A A ** G @*1*+,+! U **  H**1./010 ]y ** G @*13454""g!A A**%&W*U.F*U'F* G.5*U(.F*U*1789:&<5=F@JAL@M1$$o **U*..*.55.5-.5%.5.5.5 .5.*7 !8.*1CD EHGH#I+J3K;LCMKNSPbQdH"*7 !8.U2P#$*+iySb%&'()*+,-.$e)**Qa **U*..*.4-.4%.4.4.4 .4.*7 !8.*1ST UXWX#Y+Z3[;\C]K_Z`\X"*7 !8.U2_#$i -.!!!KZ%&/012345$] --a !!" ** 4/*1defe#001$Q$Q$**4/*1hiji1%22%%%**U6..* U7.%.*1mnopo!q#o6 +! !!7879$&45')(1(y(**U/,*1lmrm: ;)44!*A*I*q*** G*1vw xwa+88+++** ': !4*.*<*1z{|=,99---**.:>?(4(4*@3 *A3*B*1 !"&)-/>0.==Q000 **U7 F  ? @8.*1A  B1DEY2y222**..G,*1 %CD3DDi4444**.5* 3l*I *.M5 * JF3* K.LF*..5* MF* .NF3 * OF**1 "-/CNYkmx|~EFGHIJ5HH)9A:A: **.5Z*I *.M5** RF* MF* .NF3* SF* .F*3* *1 '2DFQ^bdhjEFGJk;QQW)??? **U.@*1    FAUVAAAA**.M5.M4 .,*1"$ ""HGFGHI%BUU}D1D1DYD**.Y,.*1FKLEXX)FIF IF**.\].*1  ^_ML@HIG[[GH!%H**UY,*1     KIabIII""J**cU.d*1N  LJab}KKK""K**.,#W*U.5 *U,$3 *Ue,*1!+-O + AHKPKK.Laa%NeNmN"N**7 Q8 G.*1ROggPP%P**7 Q8U.kG.*1S + TRQijRRR&&R**.,'l,*1   UKVSiiTTT&T**.O4* .5   .*1 "$WXYZ%UnnWeW(eW **.5* .5   . *1 #%WY[&uXppYY)Y **.O4*@.5 @ .*1 $&\XYZ'Zrr%\m\*m\ **.5*@.5@ . *1 %'\Y[(}]tt^_+_ ** 'v !4*.*]*1^`uu`a,a**.]*]5 3*.]*  *1    &( _`)axxEc}c-}c**..W*U.5*U3 *1 a%b mdzz#mee.e**U.*U.*1 c + +~de@gf|}9mggg//g**,0*1  "fU7 F  g8(5UX*7 h8V..1U2 " !( )#ij@1k-i|7j)k//=k[  1 + ;h||7aii5l/l**.5*U.* U%.3 *1$% &'!%#'$)&'klmn'}mInn2n**.UA5*U.*..* *1+,-0)3-4/3o~pqrce@q0oW}qq3q**.W*.W*U7 s8.W*U5U5UUKB5 *U=3*U*167 8:(;><G;I>M@O>tuvwxByz{Psmuu4u **..,.*1BCDCFC%|K}wwx5x**U.U..*1KLMNLPL~ + c!yy zz66Yz**..<*.,7*<*1HIKRS R c!Y{a|||6|**.5* 3*... **1UV WVYZ'Y*[.]0[%1}Q8 **.5 *... *3* *1_` a b!a$c(`*e.g0e%199 **...4.....*1ikjk)l+k%%,):)**..5* 3a*.Y,W*@W*UU.F*U.5 *UF3 *UF*U..F*U **1no por!t'v4x=yGxI{S~iptvKLP%wy1; **..5* 3a*.Y,W*@W*UU.F*U.5 *UF3 *UF*U..F*U **1 !'4=GISiptvIKLP%wQ  < **.U.*1 + %)?ђ==A** '54 .,>*1  FD!1=9aa=**.U.O*1  %XyK9Ya??** '54 .,@*1  +FD!Iٙٙ?**..5 *..*. .*1 %'pYp[(U1aAa**  *..5 *..*. .*1+-pYpZ.e9B9**.5]*.W*U.W*.?@52*UU@5*7 8.U..*U .3*U .3* *1 (3=ADFMXZegkmop>%iZ[j@yniy٣iC **.5c*  *.W*U.W*.?@5 *U .36*UU@5*7 8.U..*U .3* *1 !.9;FPTWY`kmqsop>[%iZj@etUD **.A5..5 .MO*1*,>qppGX- qE**U..7 F  8.*1U7 8(5*1U2 #!ѰFFG|}ɱF**. .*1  pZIH **U,J*1   +    iHH**..4.4 .,I*1 ! +FF"ٶ))HQ**  *. .*1   p[q 1YYLK**U,M*1   +     !)KK**..5.O5 .,L*1  " $ +""FIXFI%qپپK**U,..W**U.5 *U.3 *UU.W*UU.*0*UU.*1  (*46AEPR*VV.U2 #INN+OEPKwS11N **U.W*U.5U.5 *U.3*U.*1 !"(!*$2&4$5A=)P9**7   8U..*1()*)wYQ)IQQ**U7 Q8.5*UUYG.3 *UU.*1,-."-$0.200B1AYR**U.W*U.@5*7 8.3*U.5*UU.W*U..3i*UU.5*7 !8U..3H*U.5 *U.34*U.5 *U..3*U.5 *UO3 *U..*145 78&7(92:>;H9J<V=i<k>v?}>@A@BCBEGEjX!iS**U.*1K +    )19UT**U,,V*1JKLK +  Ka!)TT** G,U*1IJMJ +99Ta** U.*1OPQPo}QW **..5..U.G*1SUT U V"U%#1X9**U.Q5U.*1XYZYiAaYq**UV@*1]^ _ ^ f fa   qZZY**..U.G,[*1\]`] V9 )9Za**UUU.W*U.*UGUF*1bcde f chj'k)ja~o*!\I **.UU.*1mnop q rntn~ocYI]Y **.UU.*1vwxy z {w}w~oI9^I **G.*19_**G.;*1 `**.;*1Faa**7    8UUU..*1"$a~o@%qb- **..*1c%-c**.5 *..3*.*1 p5d**..U.G*1%Ee**U..*1Mmf**.*1   U g **@W* 5m*U..F*.5*UF*U..F3)*U.F*U..F*UF3*.5<*U..F*U F*U..F*U F3I*U.. .F*UF*U7   8..F*U F*U ..F*U.F*U..F*U*1#+57:>AEGZpz| +AEG%p%%p%%H]-m hu ((**...*1~   i **U.W*U@5 *UF*U7   8U..F*U.5/*UF*U7   8U..F*UdF*U @5 *UF*U*1u}')6;>BKUWdilpz~Uju**..*1  L%k***U..@W*UU.*1         +  De! llq **.,m*1  + K!!lI**..@*19"")n**..*1  $$1Yyoy**..*1  i&&9p***1$% & %  IQ!q!rq!**U.W*U5* UU%H3 *UF*1() +,"+$..00.1A"))Q# $s$**VUF*145 6 5 +  /sho %+-i%%%ut%**V,v*134 7 4[ +   <  &+,gA'a'i'tt'**.,u*123 83 + ;(++e))I)Q)ty)**U,*1:; <;i*@//u* +w+**.*1>? @ ? +11}Y,y,xy,**U.V.@*1EGF GHG + ~~Y-34-).1.yyy.**,z*1DE I E + y/33/ 00y90**7 8.* r.*(s.**t.*.w.*0x.*.*2y.*1!"$((24:@>LBSD^J`Da1''C!4y4qy4 **7  88..9.:..;..<.=7   8> .*1PQ RT(Y2Z9bGQIRKQNdPQ%o%Q577Q88|8 **.*6|.*1MNPeP:55:!;{!;**@7   8..A.B.*1myun u"y%z'y(<77Q==~=**7    8.*.*6~.*1hikm*{,m->?? @9@}9@**7  8.* .*.*.* .* .* .* .*! .*#.*).*,.*.*/.*1.*3.*.*.*.*;.*<.*C.*G.*P.*T.*W .*Z!.*`".*f%.*h&.*m(.*o).*q*.*s+.*,.*w-.*y..*{/.*2.*3.*4.*5.*6.*8.*9.*:.*;.*<.*=.*?.*A.*B.*C.*D.*E.*F.*H.*K.*N.*P.*Q.*R.*S.*T.*W.*X.*Y.*Z.*\.*].*^.*_.*`.*a.*b.*c.*d.*e.*f.*g.*6h.*7i.*j.*k.*l.*!n.*#o.*%p.* +q*7   8+{*7   8+h}*1*6 B%N*Z.f3r7~CSbdhltvz'3?KWco{$+6BHU _i#n/;GS_kw (,4IOSX\+b7mCvO[gs!%M9hL|NhO9A cffX^**.*7  8+*1}!"ln)n)n** +*1 ~  oyooo** +*1  ipppp* +1 qr!r!r!rpo9n !lQA Q aY9")!a$&*( ,.042;A@D ByFMHOJKP%U%SWZ\5_-acelhek-o1rIvQx|zɂYa!ٗM9)A )aqqQiyi U%   Ui 4q!I$)' &!+,I0.A;A9i@=CDEFGHIJKLMNOPQRSTUVWXYZ[=)\X]^_`abcdHnrQptefghijk8lmnopqUgris[tuavwxyz{|D}~"xz|u/19$+&37E/home/vagrant/.rvm/gems/ruby-2.3.7@cmor/gems/shoulda-matchers-4.0.1/lib/shoulda/matchers/active_record/validate_uniqueness_of_matcher.rbE
EEEEvalidate_uniqueness_ofE# E initialize?u9E scoped_toUEcase_insensitive8Eignoring_case_sensitivityE allow_nilEexpects_to_allow_nil? E allow_blank"Eexpects_to_allow_blank?$Esimple_descriptionEvalidate that :E isE uniqueE within the scope of *Ematches?Eensure in matches?-Edoes_not_match?Eensure in does_not_match?0Efailure_reason2Efailure_reason_when_negated4E%build_allow_or_disallow_value_matcherE.block in build_allow_or_disallow_value_matcherEcase_sensitivity_strategyE new_recordk=E(description_for_case_sensitive_qualifier?EE case-sensitivelyE case-insensitivelyDE validationsEblock in validationsHEmatches_scopes_configuration?EExpected the validation Enot to be scoped to anything, Eto be scoped to E, Ebut it was scoped to E instead.E"but it was not scoped to anything.QE$does_not_match_scopes_configuration?Eto be scoped to nothing, Enot to be scoped to UE scopes_match?Eblock in scopes_match?XEinspected_expected_scopes[Einspected_actual_scopesE and E, andaEinspected_actual_sets_of_scopesE(block in inspected_actual_sets_of_scopesE(E)ugEexpected_scopesiEactual_sets_of_scopesEblock in actual_sets_of_scopesrnEmatches_allow_nil?pEdoes_not_match_allow_nil?rEmatches_allow_blank?tEdoes_not_match_allow_blank?Eexisting_recordxEfind_or_create_existing_recordzEfind_existing_record|Ecreate_existing_recordEblock in create_existing_recordE rescue in create_existing_recordEensure_secure_password_setEpasswordEupdate_existing_record!Earbitrary_non_blank_valueExEhas_secure_password?E8ActiveModel::SecurePassword::InstanceMethodsOnActivationEbuild_new_recordEblock in build_new_recordEmatches_presence_of_attribute?E:E% does not seem to be an attribute on E.E%does_not_match_presence_of_attribute?E seems to be an attribute on Eattribute_present_on_model?E=Ematches_presence_of_scopes?E do not seem to be attributesE! does not seem to be an attributeE on E"does_not_match_presence_of_scopes?E seem to be attributesE seems to be an attributeEscopes_present_on_modelE block in scopes_present_on_modelEscopes_missing_on_modelE block in scopes_missing_on_modelE"matches_uniqueness_without_scopes?E)does_not_match_uniqueness_without_scopes?E2matches_uniqueness_with_case_sensitivity_strategy?SE9does_not_match_uniqueness_with_case_sensitivity_strategy?Eshould_test_case_sensitivity?E model_class?Erescue in model_class?Ematches_uniqueness_with_scopes?E(block in matches_uniqueness_with_scopes?E3block (2 levels) in matches_uniqueness_with_scopes?E&does_not_match_uniqueness_with_scopes?E/block in does_not_match_uniqueness_with_scopes?E:block (2 levels) in does_not_match_uniqueness_with_scopes?Esetting_next_value_forE ensure in setting_next_value_forEdummy_value_forEdummy_scalar_value_forEnext_value_forEnext_scalar_value_forEall_scopes_are_booleans?E!block in all_scopes_are_booleans?E,block (2 levels) in all_scopes_are_booleans?Eboolean_value?Edefined_as_enum?Epolymorphic_type_attribute?)Eavailable_enum_values_forE"block in available_enum_values_forEset_attribute_on!E!set_attribute_on_existing_record!Eset_attribute_on_new_record!E$attribute_setter_for_existing_recordE attribute_setters_for_new_recordEattribute_names_under_testEbuild_attribute_setterEexisting_value_readEexisting_value_writtenE column_forEcolumn_limit_forEmodelEfailure_message_prefaceEAfter taking the given E , setting E , whose :E is E‹E›E,, and saving it as the existing record, thenEGiven an existing E,E after setting E, thenE whose :E, afterE making a new E and setting E, the matcher expected the new E to beEattribute_changed_value_messageE$As indicated in the message above, :E seems to be changing certain values as they are set, and this could have something to do with why this test is failing. If you or something else has overridden the writer method for this attribute to normalize values by changing their case in any way (for instance, ensuring that the attribute is always downcased), then try adding `ignoring_case_sensitivity` onto the end of the uniqueness matcher. Otherwise, you may need to write the test yourself, or do something different altogether. E description_for_attribute_setterEits :E to Ea different value, E (read back as E as wellE1descriptions_for_attribute_setters_for_new_recordE,attribute_setter_descriptions_for_new_recordE5block in attribute_setter_descriptions_for_new_record"E!existing_and_new_values_are_same?$E(last_attribute_setter_used_on_new_record&Elast_value_set_on_new_recordE)E<<+E+E block in +Eblock (2 levels) in +/Eeach1Elast3E find_index_ofEblock in find_index_ofE"7EmessageEYour E' model has a uniqueness validation on :ET which is declared to be case-sensitive, but the value the uniqueness matcher used, EL, doesn't contain any alpha characters, so using it to test the case-sensitivity part of the validation is ineffective. There are two possible solutions for this depending on what you're trying to do here: a) If you meant for the validation to be case-sensitive, then you need to give the uniqueness matcher a saved instance of E with a value for :E that contains alpha characters. b) If you meant for the validation to be case-insensitive, then you need to add `case_sensitive: false` to the validation and add `case_insensitive` to the matcher. For more information, please see: http://matchers.shoulda.io/docs/vE&/file.NonCaseSwappableValueError.html EEvalidate_uniqueness_of works by matching a new record against an existing record. If there is no existing record, it will create one using the record you provide. While doing this, the following error was raised: E The best way to fix this is to provide the matcher with a record where any required attributes are filled in with valid values beforehand. EShouldaEMatchersE ActiveRecordEValidateUniquenessOfMatcherEattrEnewE ActiveModelEValidationMatcherEHelpersE@expected_messageE@optionsE@existing_record_createdE@failure_reasonE@failure_reason_when_negatedEAttributeSettersE@attribute_settersE attributeEcore#hash_from_aryEscopesEflattenE[]=E[]E==E @attributeE descriptionEpresent?E @given_recordE @all_recordsE UniquenessE TestModelsE given_recordE#$!E remove_allEallEmatcherEmethodEfailure_message_preface=E attribute_changed_value_message=EargsEtapE @new_recordE ValidationsEUniquenessValidatorE validatorEis_a?E _validatorsEselectEempty?Eany?EmapE to_sentenceExEinspected_sets_of_scopesEmany?EArrayEwrapE validationEoptionsErejectE!Eallows_value_ofEdisallows_value_ofE@existing_recordErecordEfirstEsaveEerrorEStatementInvalidEExistingRecordInvalidEraiseEcreateEinstanceE password=Epassword_confirmation=EvalueE!=EStringEnon_blank_valueElimitEis_string_valueElengthE_۫'B\Ԭ )Pm٭'<hЮ=cү8Qkΰ:Svױ4Kcֲ-Qjֳ4Lj0Jc{׵>Stն6Y·۷1Jn߸ /Mw2Xsĺ 'Dd}ѻݻ)Pl