apidoco 1.3.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +70 -61
- data/Rakefile +2 -2
- data/app/assets/javascripts/apidoco/apidoco_app.js +1 -3
- data/app/assets/javascripts/apidoco/application.js +0 -1
- data/app/assets/javascripts/apidoco/controllers/documentations_controller.js +9 -0
- data/app/assets/javascripts/apidoco/directives/jq_json_viewer.js +3 -0
- data/app/assets/stylesheets/apidoco/custom.css +23 -1
- data/app/assets/stylesheets/apidoco/helpers.css +5 -0
- data/app/assets/stylesheets/apidoco/simple-sidebar.css +17 -12
- data/app/controllers/apidoco/apis_controller.rb +1 -1
- data/app/helpers/apidoco/application_helper.rb +12 -0
- data/app/views/apidoco/apis/_side_bar.html.erb +10 -2
- data/app/views/apidoco/apis/show.html.erb +110 -66
- data/lib/apidoco/file_parser.rb +31 -0
- data/lib/apidoco/folder_parser.rb +42 -0
- data/lib/apidoco/version.rb +1 -1
- data/lib/apidoco/version_documentation.rb +4 -6
- data/lib/apidoco/version_parser.rb +1 -1
- data/lib/apidoco.rb +6 -5
- data/lib/generators/apidoco_generator.rb +2 -2
- data/spec/dummy/config/application.rb +1 -2
- data/spec/dummy/config/environments/production.rb +2 -2
- data/spec/dummy/config/puma.rb +3 -3
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +15 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/docs/api/v1/currencies/1.json +1 -0
- data/spec/dummy/log/development.log +7 -0
- data/spec/dummy/log/test.log +6222 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0-/0-YgeTJSE1q4clM9bSJB_GTox7GlRp-8pHRcAZIX-vI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0W/0WF06LMvNnOAwAIhbHUKSDbNoTH0ZnZYfM5D6cFJSP8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0p/0pnkgDd6zHgJvNGhERovgjytDhjQl9FHDyulU5OfTKA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/11/11EIDKcdhcv1Qb2B-K4b6B74JlSwSAmH1wGQYYXFbAY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2-/2-s7v1oQIHyJZKroEr6XVG9u6mIQXmTbXk_6FObweAY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2d/2dlz6Xz7eXDeN251vx1t_iV2iIMeHLW4FUY0-3_Qbf4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2w/2w9Q5UMXRSM0qlH-ZUCS_2gWhwHsVcONcE38cj3FyIg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4S/4SSbEqCgp27LXTuYGGwEy9lKbXmA3lf6XlieWDOVfwk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4Y/4YLm7kHQYv1TkJgjUB3FnpMjuA_rubfpLFKaP6vPY6s.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4s/4sLuSoOXwFzYYx144EDC-3wlBtHw2oAUO7cSBbdkMLA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5o/5oUzhCJ31pgi4LxEgr26BPEBjneLiTN95IZC-teraac.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7Y/7Y9eh4iJ0yKjeNtELQUFkcW-oxVkJ-EivdqfMEgYwRs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7i/7iVMJ-kFv8lsO01cy7MdBQ01rjK_BYUKfqDKDx0ZgEY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7u/7uBpLSZhetnlt-so8q0LQ-cbmlBL47cNHR0N8fd5rXg.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9O/9OfljynzsfcWxFUENDisgT784iWM-FwSYh0aJWHo4Ys.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9Z/9ZwJBXqMugLeN2WUE2INPiwSZMQoUbiyfcqY5Q7y3Hw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9m/9mIl8z9uNbnGMjeRwf69-EmY4Y6Gz7Q8ClzAx60_XXU.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9r/9rIr1hVQt8bg3NoQHHbrBc9VKo3PNiMbIdPdtnZ9sM4.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9s/9ssciHMad4pq-ESqS_4kVHIBx9E_h6yC7rlrkxrZ7kY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A0/A0fCSrg4IGqfzU2OAKdZekezZigjw4LFikxWh40czx4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A1/A1s4AVdRY0z1vvzWpB2MabWFsQZjlpGtBU9Tl4e7mFw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AE/AEEKSpGPVkAvkRRNENdsVzFxJ04JA6VqhQsoXeQYNa4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Av/AvbyfrHxcpMVMi_qL82k8pdqIJQF67ROnJe7cFx0z08.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/B5/B5DoPGUgo5KosvliGBDnemUcWzTpIbOI4IfhQBuIyiw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/B6/B6vXjfwQXtjaR1HXtFbUkIsDbRbEdBfW3UWYyUsrxkg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BX/BXNxtQFqw2EHejBXuoANupukoqEcYtTL3bEVrrHooHA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cn/Cn9kkdy05ZeIiZi03Lz3yYRC0HCUK2dt0H0dDBPLamU.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dq/Dq-rR0Hy4wGk3wVIzG1LP6dwT2jNxnkCzmd3i2_H1EA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dt/DtB0crMCz0L4Jx18as0NHH4RGUe6fQlwOoo4qFDQgmA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E6/E6xHpdAaL5JnHPDD76tJnpCqw1GoxUGsCgweDugFdYA.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EH/EHbdc6A7jPlfpwDMwBTQvMs0WbDbf8xkmbNcgb37V_k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ec/Ec8EvZH1hrjJyvCW4w_hfC3g1Qo65YEbo0_llb93apY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F4/F4qdAF7--nUHBDVeSZXDDNL2XBJbJUi8PpNOo15crUI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fz/FzKCrs3VEITSA2-3Lfd6hW2lvDfcZkNWQlHZaTqDd-g.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G7/G7HHYpGnG-frzjePnv3lIXO4Nj_Oh01c286Xw1C_Wwg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GX/GXAZx98OFoYDYxv_bI3ppJBPI0gVjmQBZMWMCJDGdV4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HD/HDcT9en9UzbNh2THtkKv5felxziQr6CBMZ47fV6ujAQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HT/HTllsUlLhdjnADC2J1-T8TrjTbFTM05p06MGOw_6nCE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HV/HVSkf7epetzWwJvd6StbCEGqj7tZhwNIYLFZ3kltRjY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hr/HrPO4hELPzatgcKib14BiFkkikJYiXlmDG4F8fFX_Xw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hr/HrQXWtcisSeTOzMtin6sacrTUyocEmMsyjxdYvCVGe4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IH/IHPBM0rk8pfNaJjLDbree5Il_30FQp1beJ0dBaswGYM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J5/J504FhjlxKXQ2taCEXTfGauvBIL3MQ7vfWOTNOBA1S0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J7/J7ZVw2vzrv2LLg_U2VE2gRDLrXWTDn94BVMgiJvlmhA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JB/JB8pVqQuZ1k3UIeMqish6_nwiemx2FR_Upu8P13Svv4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jm/JmMzbcpwt70vpUxp8KYIp24YfEIlLppZ6NVVcZiWVhg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kk/KkJx96BWFcskFHL001xf28iSIbkQHgLJiZ1ET-0lAyA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L0/L0H8ztcg2-iNtAc3nQNEde7opDc0ITrJ6BUL81PoijE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LK/LKVALuvgPucd4gHmYhW5Y0Qo3lOZkApGVGZTznm9dXs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LS/LS_mP0cjtz0NG2bsjyVqp8-B0MAGOgFTiRLxMSuF5Us.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lb/LbkCKEDegYFbBs2s3KChmP7cfGXJiB40tqGRXJFUzgw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MP/MPn8nvIKm9qd-k0p9Yg16o9ZEQANB-10IEWW9x2ZP50.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MZ/MZ0FB2bHHkFQ89JUrTdLr1wuD_hsah9ZGvFJy2-WPjk.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mk/MkY5PX7Q8GcpgxwP2QtgOQITsSn9obY6lf8APHXGlPI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NU/NUCbh9TuPYFA7d3EHfpHzHkfseBE2uBen-LMUiHpExg.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NX/NXJgj1A58fLFTH8ifBC0KybCwhB0d_iWdOXo9wpLfgI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nj/Nj-WIDqEGSkn4duTZ4owzNHCRhzEKPReKa_CG1AoY2s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nz/NzrQTIU4VIBSneKd9I-z6C09xEbjUcWAvMShB7MkJrE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P7/P7VPBLJjYhfwDfMCfB07xX_wLUiWUvM4t1DBH3z0u8g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PB/PBe15w7ao_0fFXF-Bzm-9PIXPU1DgTzrkxnBGwMe7_k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PV/PVMpu_1XPQSI3m1K-okgPnGWc09Y3xfL6ZBRvxC8IJw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pe/PerM5AWwrz4TSVk2WJJjx_7xD9c4q8McJ9eILZYcrNY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pr/PrDu7z2OvgrAvgrMMYtS-S8rDfjGfWfSZCgcn7cG7so.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QD/QDDLavxwe0rjWlCuyNh3sikcPi4lliJ2Enkjd_INL08.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RD/RDEcxefgDn0XeM5IjoUdC_9X_tP4fMdhBg4_xXd-Mbs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RW/RWdYiaix_cvD3vIxv66jQBrggw2zBlerUJzest84UUg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RX/RXvULdttuk0gYaTxF1Ur7to4G9oRuxFtjKEQksQBgAk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ru/RuKdTSR5jziQHc5c-SecFLPe3707epfkvvzuASjQZcE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S5/S5PLUkysSVqcfxXcey7c3B0nzJxikDReWBZ2wxT8jFA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SM/SMWFaj7_hNXoxtqADEy_g20CNPyFUuHVQNnAI2IZhXI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S_/S_5gTSmQM72HggIHLVfhMG4eo2Hs27xtEewR6gfxBBs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sd/Sdn4jzQ9qqxZx_it0QtTXHZR7trudBKSMyX2jB1TUbI.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/T9/T9XSZCV6iDtdrGWe4pqUOqAbObAQ9M8xgqUOuK8brDU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TL/TLaeHIJxVEsv4MqA-Pv3UQvVR4cITPLaqjx0MxObCfc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tm/Tm9va6u3jYtU9rOl5YEZiAlOzyEayTNSh5HWp9sMXnk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Uh/Uhpj0OS6XP0a9T55f_OQDGny35TNNuqCjU_6eA68ttw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VK/VKLPoMtPlCR8w-c4NTHIiinWPDJjxtvqJ6ixrELMASg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vj/VjDFPpGMpqAtEbsTM2UEna-gYFWsHzdtOw8GpWhMBoI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vr/VrQmTbHSGAW8LQj-KGdWJno896ZmQPNwufuGvGJ9aw0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vy/VyLqL4-YezncMKaJt68QxLs0yPbpdXrr0D3Wh5mQhwE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WN/WNllPb_dYm8XKtErkzlWMMzAIfPY0jQmBwz_MR4jvl0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XG/XG7qqxQLMaozha8r5iG_yH3FZh_nypb4csJ_keNaGVQ.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZJ/ZJoKVLsgS5gEDnIQ8VcZh5CuKZrrqx456p96DxVMqck.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_L/_L1v-AP0oCX-_W0xcKKIEeTpnT81sRSHN8y4tilcp9M.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_b/_b-kuLcbtrkCfvGqUEswMcxIJGRVchGVciIaGgSPfDk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a5/a5VnNcqCf4l84twPpWHQ9eAJQ2_aRbKChjAh4E7Tn2Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aa/aaVdpnrYpJ1XO7zzrldKWCioU7DhIRKd7P8IkM-kayA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aw/awlgMuL2tIfNvhE-YzPZgkrrOTZb55Szx1R0SDwbwN8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/az/azMTeNj28HMsKO2c1-UWYG1sqhYuEG7L1QmvslXYi-8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bB/bBW-UpBnZ-Lii4lu2O71WAErQQa3BGBM1KqcpFYLj34.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bK/bKkzmpCMNQd_aK9AxeVM1e44SiKT83c8HiOVQxYMBQI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bX/bXuIc3Q7q7YI-0-xw23y_ZSYbInd5lskEU6lYe0xBi0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cP/cPh5Vb44F7UysIugDuZ-hWstmKolE1CxTuKeh6McuXg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cc/cc_GR9HagEI2eAJrZ_H-McHBwM4vc76PpEcWRLgl1RI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d1/d13MfTIDLah5vvhUBUEXmuQfTrJzaLPkm35CYWQSZGI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d2/d2spUVS7F5j0CD6RxbPtzwS3P5g1wB4X0RWTD_pHi7k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d7/d7NEFK_rsHYqX7HJgDHMKT42WHDrNApOp31Ouu9E-mA.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dL/dLKhY2WfQ1_OqIb-lUk8CFKjy6MWRioISs2JvxtxY4g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/de/deNx3gHJ0GmVHvykgsvkdreY8KeJ9uckxu_SuAUVTBk.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eM/eMG4xtSfyJoiUxo2PTZsskoxK684AUM3Ut6qJVdoVO0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eN/eN_0JlW-UXMaOlMIEy9CwhzeJBcz8M_LMooDjqhkA3M.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eP/ePD3-isf_MuhiF7sXRGAlOR7UXQkzPWYZgWDN_Wc-9E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fO/fO1-ENqGxUGg9IjuYA9aM8Mo5NBD-HxxGi9MiOwutbs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fm/fmzK5LBduM0yDbjQoey_bRlz0uy9XoccUWdZPqBFOHk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fx/fxBgxCEaj17M-5jk-8OVoQolN0-PS2BEln9ewMB4K3I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gT/gTTDPSWiS5SGJVqwW1aY4xLcYNWX4QI0r9PtjQVZooU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h3/h37cNd9yGTSiw_6D6YAeKodhnMe-dNryebqZLZbm8hE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hI/hIuw39mTHrW7p3UeWAjsFEBpZDC-_9uJPoWH5f634IQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/hVhlNVxoYtta41RCDzoAPaMdvd8nLgH4oRPcELREJTQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hk/hkFx8xXi7kcebX8z_GVDWUZCv85YmQmC_s3G1Mf2Q5I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i4/i4b4oeQp99cTp130jv2VaD0CGoV9qU4Hs1ZXQlZDxAU.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iE/iEJYtsDHKTkniUZJghtEMEQby6WrT2v_BrRjN8Em2tg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iM/iMRNKfq_RgPrZKgAwnfe-kpWeeO4ZIAfnj162mXV4BQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iY/iY4ZZHPlV7F1VsfN48Rm7XjEC0IEn3OYaerwcuUjGbM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iw/iwlZ-m8qEeXPgzPRA3VwStEK0roX_KZD7e1lCZweQic.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j7/j7rz_1ck-y4uq3CmlEcE5UAHjf-iaIS_6_fenSMv-JM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jL/jLDIRkzUQrhFA4ASjIE-6p8dAj1sFZNNPV82A1nj4lY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/je/jeGZhnebAZftxwziYt7Fm0ok4d2L56LmHdZ0yFGJaRA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jz/jzvC5-2gSn7hy4Keaj6Vj2RK5GyNAeIwebkKEoGEH5c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kc/kcsvOne7bvMCcp1C-Jd_MJTEu4jNrJAc8MCqf--Flto.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/l-/l-uWoWjd0tPHQVHNJ77wR_OXyRJ-Yydh28Z63_dLHKo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/la/la1sFsnNYhwXbBG4h7unOSsJqN0NDYXUZs4RMi4LHOI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lv/lvVdScEcEcGwZ-KSjR_D9QH9zNE6-5t4pbIiMX-jWrc.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lw/lw_PM_memJuD8Piry94bGueknyfMTBj2lazKQ8-vtGk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m0/m0z6hySuJvGKjsgaNwUxHi7s8HhkowmfoGqHa5vs0uI.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mF/mFB5vMpLLJam7WfNIi-fnxy0my3uyMPo9vee_JTk2ro.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mF/mFJ5uJ_4F5SB_QSQtTkv_TOlUaPSOPkvVdJb1UFvgvQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mY/mYU0asnUKj51YFYFRFwlybaBqGzrIBaJy10lbMmsIw4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mm/mm_-bhoeg5a2lQneagY-vTgmUvHoT-AEMhfOCaIXsQU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mn/mnGD7PE2q0wWi8NatneeCnbz2ZugGZHku5i7QRN_nLc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nM/nMBlugSLZK18il9mkLPTbj9gozo3KG0MW6Wc8fra-bY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nb/nboQTOTxtI1JR0e0cfDQF9YGwff3oLxM6qxokXuYNF8.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ot/ot0SI1D1KuRT3iZGTq_gIMFYoSsih0e0D4fg3H4aekY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p6/p6puEBnM1qHSl2Ndr6t2cVrYFs9S4IBuW8nHQeNUxfA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q8/q8QRvY7rbG6M3TaL3uRza0-l7oMqSAwGcMfXQiAOPuM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qu/quDcdv-gXd6Jyg_r5T--b8PeoNy7KKRR_tQq3XSrvBs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rT/rT2rpIUwdYmg5Ey3giiQvHWKNOCTIRrAoQs2W9duN6E.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rw/rwjDdHETd1PzKjugsZwUy1gf7ALNbHNEqDV6VZGTolU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sU/sUNywFBF1YX6yr16vdrZ-RJtx0xMDkFNnqYTETOkgCA.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sc/scRj8QGdjkmzHSBAsmaQ8o7ojzdwGRj3U3-Qvejs8Hs.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sd/sdiI0Gloh2Ap_GU86Dir8Y1ltm-mK0_8w9gxX6ZU9F4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sl/slB_TA5SgiNpSxq-kyfgVM9rptBh1YJLlCOqTM_tM2E.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tU/tUYzErP5kAHsf5aSIS6ahup8QT8H7vcnapsSIlpRgQE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u7/u7vX1nd--W4ZiVjTomv_jZSIxdmZ9_lgPNZuLQjH8YU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wV/wVyY6EpMTmaaHCSLoC72zrVGUcWlN1L-4Kbuuzpa2dY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wo/woIF0cutiiewF7Q38dvqVKxZMQ6N9AUQhxI7zcqZHA4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xx/xxtexGOCu75DPQnYX4w-_VG49_PtHlPMNZ6WvxmVmIk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yD/yDwSJAQJBiUJ6HpVs07ibCmqxsSjpI01dcHlIH1Ui8A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yr/yrSIA1GW7o_iScyIR-0R-p4KY2bWXbGODJHWbJB8z6Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zL/zLeXEVtRZBgObSTvs7c6QwCRC_GUMytpBRN_BTgMoHg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zN/zNHarSpBPQWOIA--ZaBPxlXcAuCkpH8zag4p3pHcbq0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zh/zhe6BGB9ZKbZMFeVbOqyz7XGEZdC2GjY7tSLUzv9HYY.cache +3 -0
- data/spec/dummy/tmp/capybara/capybara-201707031600317624819040.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707041454378591419470.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707131126067941049866.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707131130322610601531.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-20170713113119989978693.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707191233458908880943.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707191240548278955091.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707191248343514596020.png +0 -0
- data/spec/dummy/tmp/capybara/capybara-201707191445233726304325.png +0 -0
- data/spec/features/apidoco/documentation_attributes/end_point_spec.rb +17 -0
- data/spec/features/apidoco/documentation_attributes/examples_spec.rb +40 -0
- data/spec/features/apidoco/documentation_attributes/http_method_spec.rb +17 -0
- data/spec/features/apidoco/documentation_attributes/name_spec.rb +16 -0
- data/spec/features/apidoco/documentation_attributes/params_spec.rb +45 -0
- data/spec/features/apidoco/documentation_attributes/published_spec.rb +31 -0
- data/spec/generators/{apidoco_generator_spec.rb → apidoco/apidoco_generator_spec.rb} +1 -1
- data/spec/rails_helper.rb +4 -4
- data/spec/spec_helper.rb +5 -6
- data/spec/support/capybara.rb +4 -0
- data/spec/support/documentation_builder.rb +9 -0
- metadata +376 -6
- data/app/assets/javascripts/apidoco/directives/angular_scroll.min.js +0 -1
- data/lib/apidoco/resource_documentation.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61a9a63bafe1c09be4ba6bed4cf2a847d2b63566
|
4
|
+
data.tar.gz: 63ae62823ec4e45a5ea1c2fdd63ea38545a353b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea8fd13490b230ca396c120a3d70695d05a98b8885fcb49ccb0642e69d961495856c22a8522bea135d0d1f075e1c0309b625baa3fa517b4db013dc7cc747527e
|
7
|
+
data.tar.gz: 15573fefb5b00fe426b38f0ea323c0b39b355b7915737e2f13780f093167cfeccd0b41eb5ac4b768c22838f1fa443c1696e6f512abfda18b4a309fe7c7149aed
|
data/README.md
CHANGED
@@ -7,6 +7,8 @@ Easy documentation of REST APIs - [Demo](https://apidoco-demo.herokuapp.com/docs
|
|
7
7
|
|
8
8
|
![screeshot 1](https://github.com/72pulses/apidoco/blob/master/images/1.jpg?raw=true)
|
9
9
|
|
10
|
+
![screeshot 2](https://github.com/72pulses/apidoco/blob/master/images/2.jpg?raw=true)
|
11
|
+
|
10
12
|
|
11
13
|
## Installation
|
12
14
|
Add this line to your application's Gemfile:
|
@@ -72,105 +74,111 @@ will create the following files with sample content
|
|
72
74
|
// docs/api/v1/posts/create.json
|
73
75
|
{
|
74
76
|
"published": true,
|
77
|
+
"name": "Create",
|
75
78
|
"sort_order": 1,
|
76
|
-
"
|
77
|
-
"end_point": "/posts",
|
79
|
+
"end_point": "api/v1/posts/:id.json",
|
78
80
|
"http_method": "POST",
|
79
|
-
"header": {
|
80
|
-
"Authorization": "Token token=token"
|
81
|
-
},
|
82
81
|
"params": [{
|
83
|
-
"key": "post[
|
82
|
+
"key": "post[title]",
|
83
|
+
"required": true,
|
84
|
+
"type": "String",
|
85
|
+
"description": "Title of the post",
|
86
|
+
"validations": ["Should be less than or equal to 40 characters"]
|
87
|
+
}, {
|
88
|
+
"key": "post[content]",
|
84
89
|
"required": true,
|
85
|
-
"type": "String"
|
90
|
+
"type": "String",
|
91
|
+
"description": "Content/Body of the post",
|
92
|
+
"validations": ["Should be less than or equal to 300 characters"]
|
86
93
|
}, {
|
87
|
-
"key": "post[
|
88
|
-
"required":
|
94
|
+
"key": "post[publsihed]",
|
95
|
+
"required": true,
|
96
|
+
"type": "Boolean",
|
97
|
+
"description": "Published status of the post"
|
89
98
|
}],
|
90
|
-
"
|
91
|
-
"
|
92
|
-
|
99
|
+
"header": {
|
100
|
+
"Authentication": "Token token=<token>",
|
101
|
+
"Content-Type": "application/json"
|
102
|
+
},
|
93
103
|
"examples": [{
|
94
104
|
"request": {
|
95
105
|
"post": {
|
96
|
-
"
|
97
|
-
"content": "
|
106
|
+
"title": "Ruby is awesome",
|
107
|
+
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum a tellus sed finibus.",
|
108
|
+
"published": false
|
98
109
|
}
|
99
110
|
},
|
100
111
|
"response": {
|
101
|
-
"
|
102
|
-
"message": "
|
103
|
-
"post": {
|
104
|
-
"id": 101
|
105
|
-
}
|
112
|
+
"suceess": true,
|
113
|
+
"message": "Successfully created"
|
106
114
|
}
|
107
115
|
}]
|
108
116
|
}
|
109
117
|
```
|
110
118
|
|
111
119
|
```
|
112
|
-
// docs/api/v1/posts/
|
120
|
+
// docs/api/v1/posts/update.json
|
113
121
|
{
|
114
122
|
"published": true,
|
123
|
+
"name": "Update",
|
115
124
|
"sort_order": 2,
|
116
|
-
"
|
117
|
-
"
|
118
|
-
"http_method": "POST",
|
125
|
+
"end_point": "api/v1/posts/:id.json",
|
126
|
+
"http_method": "PUT|PATCH",
|
119
127
|
"params": [{
|
120
|
-
"key": "post[
|
128
|
+
"key": "post[title]",
|
129
|
+
"required": true,
|
130
|
+
"type": "String",
|
131
|
+
"description": "Title of the post",
|
132
|
+
"validations": ["Should be less than or equal to 40 characters"]
|
133
|
+
}, {
|
134
|
+
"key": "post[content]",
|
121
135
|
"required": true,
|
122
|
-
"type": "String"
|
136
|
+
"type": "String",
|
137
|
+
"description": "Content/Body of the post",
|
138
|
+
"validations": ["Should be less than or equal to 300 characters"]
|
123
139
|
}, {
|
124
|
-
"key": "post[
|
125
|
-
"required":
|
126
|
-
"type": "
|
140
|
+
"key": "post[publsihed]",
|
141
|
+
"required": true,
|
142
|
+
"type": "Boolean",
|
143
|
+
"description": "Published status of the post"
|
127
144
|
}],
|
145
|
+
"header": {
|
146
|
+
"Authentication": "Token token=<token>",
|
147
|
+
"Content-Type": "application/json"
|
148
|
+
},
|
128
149
|
"examples": [{
|
129
150
|
"request": {
|
130
151
|
"post": {
|
131
|
-
"
|
132
|
-
"content": "
|
152
|
+
"title": "Ruby is awesome",
|
153
|
+
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum a tellus sed finibus.",
|
154
|
+
"published": false
|
133
155
|
}
|
134
156
|
},
|
135
157
|
"response": {
|
136
|
-
"
|
137
|
-
"message": "
|
138
|
-
"post": {
|
139
|
-
"id": 101
|
140
|
-
}
|
158
|
+
"suceess": true,
|
159
|
+
"message": "Successfully updated"
|
141
160
|
}
|
142
161
|
}]
|
143
162
|
}
|
144
163
|
|
164
|
+
```
|
165
|
+
|
166
|
+
```
|
145
167
|
//docs/api/v1/posts/delete.json
|
146
168
|
{
|
147
169
|
"published": true,
|
148
|
-
"
|
149
|
-
"
|
150
|
-
"end_point": "/posts",
|
151
|
-
"http_method": "
|
152
|
-
"
|
153
|
-
"
|
154
|
-
"
|
155
|
-
|
156
|
-
}, {
|
157
|
-
"key": "post['content']",
|
158
|
-
"required": false,
|
159
|
-
"type": "String"
|
160
|
-
}],
|
170
|
+
"name": "Destroy Post",
|
171
|
+
"sort_order": 6,
|
172
|
+
"end_point": "api/v1/posts/:id.json",
|
173
|
+
"http_method": "DELETE",
|
174
|
+
"header": {
|
175
|
+
"Authentication": "Token token=<token>",
|
176
|
+
"Content-Type": "application/json"
|
177
|
+
},
|
161
178
|
"examples": [{
|
162
|
-
"request": {
|
163
|
-
"post": {
|
164
|
-
"name": "I was scared",
|
165
|
-
"content": "I am serious, I was really scared."
|
166
|
-
}
|
167
|
-
},
|
168
179
|
"response": {
|
169
|
-
"
|
170
|
-
"message": "
|
171
|
-
"post": {
|
172
|
-
"id": 101
|
173
|
-
}
|
180
|
+
"suceess": true,
|
181
|
+
"message": "Successfully destroyed"
|
174
182
|
}
|
175
183
|
}]
|
176
184
|
}
|
@@ -182,11 +190,12 @@ will create the following files with sample content
|
|
182
190
|
| Key | Description | Default | Example |
|
183
191
|
| --- | --- | --- | --- |
|
184
192
|
| `published` | Set this to false if you do not want to list this api | `true` | -- |
|
185
|
-
| `sort_order` | The order of the api in the documenatation | 0 | `"sort_order": 10` |
|
186
193
|
| `name` | Name of the api | --- | --- |
|
194
|
+
| `sort_order` | Order of the api to be listed | --- | --- |
|
187
195
|
| `end_point` | --- | --- | `"end_point": "/posts"` |
|
188
196
|
| `http_method` | The HTTP method of the API | --- | `"http_method": "GET"` |
|
189
|
-
| `params` | Parameters to be used | --- | `"params: [{ "key": "post['name']",
|
197
|
+
| `params` | Parameters to be used | --- | `"params: [{ "key": "post['name']", "required": true, "type": "String", "notes": ["Name or title of the post"], "validations": ["should be less than or equal to 150 characters"] }]"` |
|
198
|
+
| `header` | headers to be used | --- | `"header: { "Authorization": "Token token=<token>", "Content-type": 'application/json' }"` |
|
190
199
|
| `examples` | Array of sample requests and responses | --- | `[{ "request": { "post": { "name": "I was scared" } } }, "response": { "message": "Post was successfully created", "id": 101 } }]`
|
191
200
|
|
192
201
|
|
data/Rakefile
CHANGED
@@ -14,7 +14,7 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
14
14
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
15
|
end
|
16
16
|
|
17
|
-
APP_RAKEFILE = File.expand_path(
|
17
|
+
APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
|
18
18
|
|
19
19
|
load 'rails/tasks/engine.rake'
|
20
20
|
|
@@ -28,7 +28,7 @@ require 'rspec/core'
|
|
28
28
|
|
29
29
|
require 'rspec/core/rake_task'
|
30
30
|
|
31
|
-
desc
|
31
|
+
desc 'Run all specs in spec directory (excluding plugin specs)'
|
32
32
|
RSpec::Core::RakeTask.new(spec: 'app:db:test:prepare')
|
33
33
|
|
34
34
|
task default: :spec
|
@@ -1,3 +1 @@
|
|
1
|
-
angular.module('apiDocoApp', ['
|
2
|
-
.value('duScrollOffset', 250) // offset from top to the div
|
3
|
-
.value('duScrollBottomSpy', true); // To make the last du-scrollspy link active when scroll reaches page/container bottom
|
1
|
+
angular.module('apiDocoApp', ['ngclipboard']);
|
@@ -16,7 +16,6 @@
|
|
16
16
|
//= require apidoco/jquery.json-viewer
|
17
17
|
//= require apidoco/bootstrap/bootstrap.min
|
18
18
|
//= require apidoco/clipboard.min
|
19
|
-
//= require apidoco/directives/angular_scroll.min
|
20
19
|
//= require apidoco/directives/ngclipboard
|
21
20
|
//= require apidoco/apidoco_app
|
22
21
|
//= require apidoco/directives/jq_json_viewer
|
@@ -9,6 +9,15 @@ angular.module('apiDocoApp')
|
|
9
9
|
$window.location.href = version.path;
|
10
10
|
};
|
11
11
|
|
12
|
+
$scope.viewRaw = function(data) {
|
13
|
+
var dataStingified = JSON.stringify(data, null, 2);
|
14
|
+
var x = window.open();
|
15
|
+
|
16
|
+
x.document.open();
|
17
|
+
x.document.write('<html><body><pre>' + dataStingified + '</pre></body></html>');
|
18
|
+
x.document.close();
|
19
|
+
};
|
20
|
+
|
12
21
|
$scope.initMenuToggle = function() {
|
13
22
|
$(document).ready(function () {
|
14
23
|
$("#menu-toggle").click(function(e) {
|
@@ -8,6 +8,9 @@ angular.module('apiDocoApp').directive('jqJsonViewer', [function() {
|
|
8
8
|
},
|
9
9
|
link: function(scope, elem, attrs) {
|
10
10
|
$(elem).jsonViewer(scope.data, { withQuotes: true });
|
11
|
+
|
12
|
+
// Collapse the second level
|
13
|
+
$(elem).find('ul.json-dict > li > ol > li > a.json-toggle').click();
|
11
14
|
}
|
12
15
|
};
|
13
16
|
}]);
|
@@ -17,4 +17,26 @@ pre {
|
|
17
17
|
background-color: #f6f8fa;
|
18
18
|
border-radius: 3px;
|
19
19
|
border: none;
|
20
|
-
}
|
20
|
+
}
|
21
|
+
|
22
|
+
h2.section-title {
|
23
|
+
font-size: 20px;
|
24
|
+
font-weight: bold;
|
25
|
+
border-bottom: 1px solid #ededed;
|
26
|
+
padding-bottom: 10px;
|
27
|
+
}
|
28
|
+
|
29
|
+
.section-block {
|
30
|
+
padding-bottom: 15px;
|
31
|
+
padding-top: 15px;
|
32
|
+
}
|
33
|
+
|
34
|
+
h3 {
|
35
|
+
font-size: 14px;
|
36
|
+
font-weight: bold;
|
37
|
+
}
|
38
|
+
|
39
|
+
.section-block .block-title {
|
40
|
+
margin-top: 0;
|
41
|
+
}
|
42
|
+
|
@@ -19,26 +19,27 @@
|
|
19
19
|
}
|
20
20
|
|
21
21
|
#wrapper.toggled {
|
22
|
-
padding-left:
|
22
|
+
padding-left: 275px;
|
23
23
|
}
|
24
24
|
|
25
25
|
#sidebar-wrapper {
|
26
26
|
z-index: 1000;
|
27
27
|
position: fixed;
|
28
|
-
left:
|
28
|
+
left: 275px;
|
29
29
|
width: 0;
|
30
30
|
height: 100%;
|
31
|
-
margin-left: -
|
31
|
+
margin-left: -275px;
|
32
32
|
overflow-y: auto;
|
33
|
-
background: #
|
33
|
+
background: #364150;
|
34
34
|
-webkit-transition: all 0.5s ease;
|
35
35
|
-moz-transition: all 0.5s ease;
|
36
36
|
-o-transition: all 0.5s ease;
|
37
37
|
transition: all 0.5s ease;
|
38
|
+
color: #b4bcc8;
|
38
39
|
}
|
39
40
|
|
40
41
|
#wrapper.toggled #sidebar-wrapper {
|
41
|
-
width:
|
42
|
+
width: 275px;
|
42
43
|
}
|
43
44
|
|
44
45
|
#page-content-wrapper {
|
@@ -49,7 +50,7 @@
|
|
49
50
|
|
50
51
|
#wrapper.toggled #page-content-wrapper {
|
51
52
|
position: absolute;
|
52
|
-
margin-right: -
|
53
|
+
margin-right: -275px;
|
53
54
|
}
|
54
55
|
|
55
56
|
/* Sidebar Styles */
|
@@ -57,21 +58,21 @@
|
|
57
58
|
.sidebar-nav {
|
58
59
|
position: absolute;
|
59
60
|
top: 0;
|
60
|
-
width:
|
61
|
+
width: 95%;
|
61
62
|
margin: 0;
|
62
63
|
padding: 0;
|
64
|
+
margin-left: 10px;
|
63
65
|
list-style: none;
|
64
66
|
}
|
65
67
|
|
66
68
|
.sidebar-nav li {
|
67
|
-
|
68
|
-
line-height: 40px;
|
69
|
+
margin-bottom: 3px;
|
69
70
|
}
|
70
71
|
|
71
72
|
.sidebar-nav li a {
|
72
73
|
display: block;
|
73
74
|
text-decoration: none;
|
74
|
-
color: #
|
75
|
+
color: #b4bcc8;
|
75
76
|
}
|
76
77
|
|
77
78
|
.sidebar-nav li a:hover,
|
@@ -97,10 +98,14 @@
|
|
97
98
|
color: #fff;
|
98
99
|
background: none;
|
99
100
|
}
|
101
|
+
.sidebar-nav ul {
|
102
|
+
margin-bottom: 20px !important;
|
103
|
+
padding-left: 30px !important;
|
104
|
+
}
|
100
105
|
|
101
106
|
@media(min-width:768px) {
|
102
107
|
#wrapper {
|
103
|
-
padding-left:
|
108
|
+
padding-left: 275px;
|
104
109
|
}
|
105
110
|
|
106
111
|
#wrapper.toggled {
|
@@ -108,7 +113,7 @@
|
|
108
113
|
}
|
109
114
|
|
110
115
|
#sidebar-wrapper {
|
111
|
-
width:
|
116
|
+
width: 275px;
|
112
117
|
}
|
113
118
|
|
114
119
|
#wrapper.toggled #sidebar-wrapper {
|
@@ -5,5 +5,17 @@ module Apidoco
|
|
5
5
|
{ name: documentation.name, path: api_path(id: documentation.name) }
|
6
6
|
end
|
7
7
|
end
|
8
|
+
|
9
|
+
def build_documentation_array(documentations)
|
10
|
+
documentation_array = documentations.map do |documentation|
|
11
|
+
if documentation[:is_folder]
|
12
|
+
build_documentation_array(documentation[:children])
|
13
|
+
else
|
14
|
+
documentation
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
documentation_array.flatten
|
19
|
+
end
|
8
20
|
end
|
9
21
|
end
|
@@ -1,3 +1,12 @@
|
|
1
|
+
<!-- recursive template -->
|
2
|
+
<script type="text/ng-template" id="documentationTree">
|
3
|
+
<a href="#{{documentation.id}}">{{documentation.name}}</a>
|
4
|
+
<ul ng-if="documentation.children">
|
5
|
+
<li ng-repeat="documentation in documentation.children" ng-include="'documentationTree'">
|
6
|
+
</li>
|
7
|
+
</ul>
|
8
|
+
</script>
|
9
|
+
|
1
10
|
<div id="sidebar-wrapper">
|
2
11
|
<ul class="sidebar-nav">
|
3
12
|
<li class="sidebar-brand">
|
@@ -13,8 +22,7 @@
|
|
13
22
|
<li class="mt-10 padding-10">
|
14
23
|
<input type="text" placeholder="Search.." class="form-control input-sm" ng-model="searchKeyword" />
|
15
24
|
</li>
|
16
|
-
<li ng-repeat="
|
17
|
-
<a href="#api_{{$index}}" du-smooth-scroll du-scrollspy>{{x.name}}</a>
|
25
|
+
<li ng-repeat="documentation in data.apis | filter: searchKeyword" ng-include="'documentationTree'">
|
18
26
|
</li>
|
19
27
|
</ul>
|
20
28
|
</div>
|